X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_get_wstr.3x.html;h=e1035e021b4dcacd2a0de1cca03212a546131af9;hp=4c4dff6596c597fe91089a80afe3caa542431851;hb=HEAD;hpb=9f479192e3ca3413d235c66bf058f8cc63764898 diff --git a/doc/html/man/curs_get_wstr.3x.html b/doc/html/man/curs_get_wstr.3x.html index 4c4dff65..9e18e64f 100644 --- a/doc/html/man/curs_get_wstr.3x.html +++ b/doc/html/man/curs_get_wstr.3x.html @@ -1,6 +1,6 @@
--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
- #include <curses.h> + #include <curses.h> - int get_wstr(wint_t *wstr); - 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 get_wstr(wint_t *wstr); + 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); - int mvwgetn_wstr(WINDOW *win, int y, int x, 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); + int mvwgetn_wstr(WINDOW *win, int y, int x, wint_t *wstr, int n);
- 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 de- - fined in <wchar.h>. The newline and end-of-line conditions are repre- - sented 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 previous character (typi- - cally 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 se- - ries 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 func- - tions, respectively, except that the *n_* versions read at most n char- - acters, 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, respec- - tively, 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 completion. Other- - wise, 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 movement 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 prefixed with "mv" first perform cursor movement and fail if + the position (y, x) is outside the window boundaries. + + +
+ 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 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 re- - turns 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. + 2. No error conditions are defined. - X/Open curses documented these functions to pass an array of wchar_t in + 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 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. + 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, Issue 7 (2009) is unclear regarding whether the termi- - nating 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 in- - terpreted either way. This implementation counts the terminator in the - length. + 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. - X/Open Curses does not specify what happens if the length n is nega- - tive. + X/Open Curses does not specify what happens if the length n is + negative. - o For analogy with wgetnstr, ncurses 6.2 uses a limit (based on - LINE_MAX). + 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, + 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 + 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.5 2024-04-20 curs_get_wstr(3x)