menu\_pattern(3X) Library calls menu\_pattern(3X)

# [NAME](#NAME)

**set\_menu\_pattern**, **menu\_pattern** - set and get a menu's pattern buffer

# [SYNOPSIS](#SYNOPSIS)

```
#include <menu.h>
```

```
int set_menu_pattern(MENU *menu, const char *pattern);
char *menu_pattern(const MENU *menu);
```

# [DESCRIPTION](#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)](/man/os/ncurses/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](#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**](#E_OK)

The routine succeeded.

[**E\_BAD\_ARGUMENT**](#E_BAD_ARGUMENT)

Routine detected an incorrect or out-of-range argument.

[**E\_BAD\_STATE**](#E_BAD_STATE)

Routine was called from an initialization or termination function.

[**E\_NOT\_CONNECTED**](#E_NOT_CONNECTED)

No items are connected to menu.

[**E\_NO\_MATCH**](#E_NO_MATCH)

Character failed to match.

[**E\_SYSTEM\_ERROR**](#E_SYSTEM_ERROR)

System error occurred (see [**errno**(3)](/man/os/ncurses/errno.3)).

# [PORTABILITY](#PORTABILITY)

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

# [AUTHORS](#AUTHORS)

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

# [SEE ALSO](#SEE_ALSO)

[**curses**(3X)](/man/os/ncurses/curses.3X), [**menu**(3X)](/man/os/ncurses/menu.3X)

2024-12-28 ncurses 6.6

---

Document: set_menu_pattern(3x) from ncurses 6.6.20261024-r0 (Chainguard OS)
Source: https://github.com/ThomasDickey/ncurses-snapshots
