.\"*************************************************************************** .\" Copyright 2018-2022,2023 Thomas E. Dickey * .\" Copyright 1998-2010,2015 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * .\" "Software"), to deal in the Software without restriction, including * .\" without limitation the rights to use, copy, modify, merge, publish, * .\" distribute, distribute with modifications, sublicense, and/or sell * .\" copies of the Software, and to permit persons to whom the Software is * .\" furnished to do so, subject to the following conditions: * .\" * .\" The above copyright notice and this permission notice shall be included * .\" in all copies or substantial portions of the Software. * .\" * .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * .\" * .\" Except as contained in this notice, the name(s) of the above copyright * .\" holders shall not be used in advertising or otherwise to promote the * .\" sale, use or other dealings in this Software without prior written * .\" authorization. * .\"*************************************************************************** .\" .\" $Id: menu_pattern.3x,v 1.36 2023/11/25 13:58:47 tom Exp $ .TH pattern 3MENU 2023-11-25 "ncurses 6.4" "Library calls" .SH NAME \fBset_menu_pattern\fP, \fBmenu_pattern\fP \- set and get a menu's pattern buffer .SH SYNOPSIS .nf \fB#include .PP \fBint set_menu_pattern(MENU *\fImenu\fP, const char *\fIpattern\fP); \fBchar *menu_pattern(const MENU *\fImenu\fP); .fi .SH 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 \fB\%driver\fP(3MENU). .PP The function \fBset_menu_pattern\fP 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. .PP The function \fBmenu_pattern\fP returns the pattern buffer of the given \fImenu\fP. .SH RETURN VALUE The function \fBmenu_pattern\fP returns a pointer, which is \fBNULL\fP if the \fImenu\fP parameter is \fBNULL\fP. Otherwise, it is a pointer to a string which is empty if no pattern has been set. It does not set \fBerrno\fP. .PP The function \fBset_menu_pattern\fP may return the following error codes: .TP 5 .B E_OK The routine succeeded. .TP 5 .B E_BAD_ARGUMENT Routine detected an incorrect or out-of-range argument. .TP 5 .B E_BAD_STATE Routine was called from an initialization or termination function. .TP 5 .B E_NOT_CONNECTED No items are connected to menu. .TP 5 .B E_NO_MATCH Character failed to match. .TP 5 .B E_SYSTEM_ERROR System error occurred (see \fBerrno\fP(3)). .SH PORTABILITY These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. .SH AUTHORS Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S. Raymond. .SH SEE ALSO \fB\%ncurses\fP(3NCURSES), \fB\%menu\fP(3MENU)