menu_pattern(3)

menu_pattern3

Set and get a menu's pattern buffer

Usage

#include <menu.h>

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

Overview

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

Portability

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

Releases

66 releases since FreeBSD 4.3-RELEASE; the text changed 10 times.

  1. 4.3–4.11
  2. 5.0–6.2
  3. 6.3–7.4
  4. 8.0–10.4
  5. 11.0–12.4
  6. 13.0–13.5
  7. 14.0–14.1
  8. 14.2–14.4
  9. 14.5
  10. 15.0
  11. 15.1–16.0

Authors

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

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's man source.