# menu_pattern 3x

    menu_pattern(3x)                                       menu_pattern(3x)

## NAME

           menu_pattern - get and set a menu's pattern 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 ASCII 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)