X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_get_wstr.3x.html;h=6129083184727576f6e0bcd45e3d7d9a6dd0d032;hb=75a9c36c205ebefe07580acd0b1053a2abbd44b9;hp=853075a8cbf6ebd0f52207f58fc31325c5ef96a5;hpb=dcfe712cb3492636e8d50c9867cf05aec089a576;p=ncurses.git diff --git a/doc/html/man/curs_get_wstr.3x.html b/doc/html/man/curs_get_wstr.3x.html index 853075a8..61290831 100644 --- a/doc/html/man/curs_get_wstr.3x.html +++ b/doc/html/man/curs_get_wstr.3x.html @@ -1,6 +1,7 @@ -
- --curs_get_wstr(3x) curs_get_wstr(3x) +curs_get_wstr(3x) Library calls curs_get_wstr(3x)
- get_wstr, getn_wstr, wget_wstr, wgetn_wstr, mvget_wstr, - mvgetn_wstr, mvwget_wstr, mvwgetn_wstr - get an array of - wide characters from a curses terminal keyboard + get_wstr, getn_wstr, wget_wstr, wgetn_wstr, mvget_wstr, mvgetn_wstr, + mvwget_wstr, mvwgetn_wstr - get a wide-character string from a curses + terminal keyboard
@@ -58,6 +59,7 @@ int getn_wstr(wint_t *wstr, int n); int wget_wstr(WINDOW *win, wint_t *wstr); int wgetn_wstr(WINDOW *win, wint_t *wstr, int n); + int mvget_wstr(int y, int x, wint_t *wstr); int mvgetn_wstr(int y, int x, wint_t *wstr, int n); int mvwget_wstr(WINDOW *win, int y, int x, wint_t *wstr); @@ -65,107 +67,138 @@
- The effect of get_wstr is as though a series of calls to - get_wch(3x) were made, until a newline, other end-of-line, - or end-of-file condition is processed. An end-of-file - condition is represented by WEOF, as defined in <wchar.h>. - The newline and end-of-line conditions are represented by - the \n wchar_t value. In all instances, the end of the - string is terminated by a null wchar_t. The routine - places resulting values in the area pointed to by wstr. + The function wgetn_wstr is equivalent to a series of calls to + wget_wch(3x) until a newline or carriage return terminates the series: - The user's erase and kill characters are interpreted. If - keypad mode is on for the window, KEY_LEFT and - KEY_BACKSPACE are both considered equivalent to the user's - kill character. + o The terminating character is not included in the returned string. - Characters input are echoed only if echo is currently on. - In that case, backspace is echoed as deletion of the pre- - vious character (typically a left motion). + o An end-of-file condition is represented by WEOF, as defined in + <wchar.h>. - The effect of wget_wstr is as though a series of calls to - wget_wch were made. + o In all instances, the end of the string is terminated by a null + wchar_t. - The effect of mvget_wstr is as though a call to move and - then a series of calls to get_wch were made. + o The function stores the result in the area pointed to by the wstr + parameter. - The effect of mvwget_wstr is as though a call to wmove and - then a series of calls to wget_wch were made. + o The function reads at most n characters, thus preventing a possible + overflow of the input buffer. - The getn_wstr, mvgetn_wstr, mvwgetn_wstr, and wgetn_wstr - functions are identical to the get_wstr, mvget_wstr, - mvwget_wstr, and wget_wstr functions, respectively, except - that the *n_* versions read at most n characters, letting - the application prevent overflow of the input buffer. + Any attempt to enter more characters (other than the terminating + newline or carriage return) causes a beep. + Function keys also cause a beep and are ignored. -
- Using get_wstr, mvget_wstr, mvwget_wstr, or wget_wstr to - read a line that overflows the array pointed to by wstr - causes undefined results. The use of getn_wstr, - mvgetn_wstr, mvwgetn_wstr, or wgetn_wstr, respectively, is - recommended. + The user's erase and kill characters are interpreted: + + o The erase character (e.g., ^H) erases the character at the end of + the buffer, moving the cursor to the left. + + If keypad mode is on for the window, KEY_LEFT and KEY_BACKSPACE are + both considered equivalent to the user's erase character. + + o The kill character (e.g., ^U) erases the entire buffer, leaving the + cursor at the beginning of the buffer. - These functions cannot return KEY_ values because there is - no way to distinguish a KEY_ value from a valid wchar_t - value. + Characters input are echoed only if echo is currently on. In that + case, backspace is echoed as deletion of the previous character + (typically a left motion). - All of these routines except wgetn_wstr may be macros. + The getn_wstr, mvgetn_wstr, mvwgetn_wstr, and wgetn_wstr functions are + identical to the get_wstr, mvget_wstr, mvwget_wstr, and wget_wstr + functions, respectively, except that the *n_* versions read at most n + characters, letting the application prevent overflow of the input + buffer.
- All of these functions return OK upon successful comple- - tion. Otherwise, they return ERR. + All of these functions return the integer OK upon successful + completion. If unsuccessful, they return ERR. - Functions using a window parameter return an error if it - is null. + X/Open defines no error conditions. - wgetn_wstr - returns an error if the associated call to - wget_wch failed. + In this implementation, these functions return an error - Functions with a "mv" prefix first perform a cursor move- - ment using wmove, and return an error if the position is - outside the window, or if the window pointer is null. + o if the window pointer is null, + + o if its timeout expires without having any data, or + + o if the associated call to wget_wch failed. + + Functions with a "mv" prefix first perform a cursor movement using + wmove, and return an error if the position is outside the window, or if + the window pointer is null. + + +
+ Any of these functions other than wgetn_wstr may be macros. + + Using get_wstr, mvget_wstr, mvwget_wstr, or wget_wstr to read a line + that overflows the array pointed to by wstr causes undefined results. + The use of getn_wstr, mvgetn_wstr, mvwgetn_wstr, or wgetn_wstr, + respectively, is recommended. + + These functions cannot return KEY_ values because there is no way to + distinguish a KEY_ value from a valid wchar_t value.
- These functions are described in The Single Unix Specifi- - cation, Version 2. No error conditions are defined. This - implementation returns ERR if the window pointer is null, - or if the lower-level wget_wch call returns an ERR. In - the latter case, an ERR return without other data is - treated as an end-of-file condition, and the returned ar- - ray contains a WEOF followed by a null wchar_t. + These functions are described in The Single Unix Specification, Version + 2. No error conditions are defined. + + This implementation returns ERR if the window pointer is null, or if + the lower-level wget_wch call returns an ERR. In the latter case, an + ERR return without other data is treated as an end-of-file condition, + and the returned array contains a WEOF followed by a null wchar_t. + + X/Open curses documented these functions to pass an array of wchar_t in + 1997, but that was an error because of this part of the description: + + The effect of get_wstr is as though a series of calls to get_wch + were made, until a newline character, end-of-line character, or + end-of-file character is processed. + + The latter function get_wch can return a negative value, while wchar_t + is a unsigned type. All of the vendors implement this using wint_t, + following the standard. - X/Open curses documented these functions to pass an array - of wchar_t in 1997, but that was an error because of this - part of the description: + X/Open Curses, Issue 7 (2009) is unclear regarding whether the + terminating null wchar_t value is counted in the length parameter n. + X/Open Curses, Issue 7 revised the corresponding description of + wgetnstr to address this issue. The unrevised description of + wget_nwstr can be interpreted either way. This implementation counts + the terminator in the length. - The effect of get_wstr() is as though a series of - calls to get_wch() were made, until a newline char- - acter, end-of-line character, or end-of-file char- - acter is processed. + X/Open Curses does not specify what happens if the length n is + negative. - The latter function get_wch() can return a negative value, - while wchar_t is a unsigned type. All of the vendors im- - plement this using wint_t, following the standard. + o For analogy with wgetnstr, ncurses 6.2 uses a limit (based on + LINE_MAX). + + o Some other implementations (such as Solaris xcurses) do the same, + while others (PDCurses) do not allow this. + + o NetBSD 7 curses imitates ncurses 6.1 in this regard, treating a -1 + as an indefinite number of characters.
- Functions: curses(3x), curs_get_wch(3x), curs_getstr(3x). + curs_getstr(3x) describes comparable functions of the ncurses library + in its non-wide-character configuration. + + curses(3x), curs_get_wch(3x) - curs_get_wstr(3x) +ncurses 6.4 2024-04-13 curs_get_wstr(3x)