# menu_pattern 3x

    menu_pattern(3x)                                       menu_pattern(3x)

## NAME

           set_menu_pattern, menu_pattern - set and get a menu's pat-
           tern buffer

## SYNOPSIS

           #include <menu.h>
           int set_menu_pattern(MENU *menu, const char *pattern);
           char *menu_pattern(const MENU *menu);

## DESCRIPTION

           Every menu has an associated  pattern  match  buffer.   As
           input  events  that are printable characters come in, they
           are appended to this match buffer and tested for a  match,
           as described in menu_driver(3x).

           The  function set_menu_pattern sets the pattern buffer for
           the given menu and tries to find the first matching  item.
           If  it  succeeds,  that  item becomes current; if not, the
           current item does not change.

           The function menu_pattern returns the  pattern  buffer  of
           the given menu.

## RETURN VALUE

           The function menu_pattern returns a pointer, which is NULL
           if the menu parameter is NULL.  Otherwise, it is a pointer
           to a string which is empty if no pattern has been set.  It
           does not set errno.

           The function set_menu_pattern  may  return  the  following
           error codes:

           E_OK The routine succeeded.

           E_BAD_ARGUMENT
                Routine  detected  an incorrect or out-of-range argu-
                ment.

           E_BAD_STATE
                Routine was called from an initialization or termina-
                tion function.

           E_NOT_CONNECTED
                No items are connected to menu.

           E_NO_MATCH
                Character failed to match.

           E_SYSTEM_ERROR
                System error occurred (see errno).

## SEE ALSO

           curses(3x), menu(3x).

## NOTES

           The header file <menu.h> automatically includes the header
           file <curses.h>.

## PORTABILITY

           These routines emulate the System V  menu  library.   They
           were not supported on Version 7 or BSD versions.

## AUTHORS

           Juergen  Pfeifer.   Manual  pages  and  adaptation for new
           curses by Eric S. Raymond.

                                                           menu_pattern(3x)