---
name: "menu_pattern"
section: "3menu"
platform: "linux"
package: "ncurses-doc"
version: "6.5+20250216-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pattern/3menu"
---

# menu\_pattern(3menu)

set and get a menu's pattern buffer

Part of [pattern(3menu)](/pattern/3menu.md).

## NAME

**set\_menu\_pattern**, **menu\_pattern** - set and get 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 characters come in, they are appended to this match buffer** **and tested for a match, as described in driver(3MENU).**

**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 argument.**

- **E\_BAD\_STATE**

  **Routine was called from an initialization or termination 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(3)](/errno/3.md)).**

## 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.**

## SEE ALSO

**ncurses(3NCURSES),** **menu(3MENU)**
