# 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  NULL  on  error.   The
           function  set_menu_pattern  may return the following error
           codes:

           E_OK The routine succeeded.

           E_SYSTEM_ERROR
                System error occurred (see errno).

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

           E_NO_MATCH
                Character failed to match.

## 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)