diff options
Diffstat (limited to 'doc/html/man/curs_getstr.3x.html')
-rw-r--r-- | doc/html/man/curs_getstr.3x.html | 197 |
1 files changed, 116 insertions, 81 deletions
diff --git a/doc/html/man/curs_getstr.3x.html b/doc/html/man/curs_getstr.3x.html index f7cffded9a17c..8c4c7bca864f8 100644 --- a/doc/html/man/curs_getstr.3x.html +++ b/doc/html/man/curs_getstr.3x.html @@ -1,7 +1,6 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <!-- **************************************************************************** - * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. * + * Copyright (c) 1998-2018,2019 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 * @@ -27,33 +26,34 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_getstr.3x,v 1.19 2010/12/04 18:36:44 tom Exp @ + * @Id: curs_getstr.3x,v 1.28 2019/07/20 19:14:56 tom Exp @ + * X/Open says also until EOf + * X/Open says then an EOS is added to the result + * X/Open doesn't mention n<0 --> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> +<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> +<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> <TITLE>curs_getstr 3x</TITLE> -<link rev=made href="mailto:bug-ncurses@gnu.org"> +<link rel="author" href="mailto:bug-ncurses@gnu.org"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </HEAD> <BODY> -<H1>curs_getstr 3x</H1> -<HR> +<H1 class="no-header">curs_getstr 3x</H1> <PRE> -<!-- Manpage converted by man2html 3.0.1 --> -<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> +<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> -</PRE> -<H2>NAME</H2><PRE> - <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>, - <STRONG>mvwgetstr</STRONG>, <STRONG>mvwgetnstr</STRONG> - accept character strings from - <STRONG>curses</STRONG> terminal keyboard +</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> + <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetstr</STRONG>, + <STRONG>mvwgetnstr</STRONG> - accept character strings from <STRONG>curses</STRONG> terminal keyboard -</PRE> -<H2>SYNOPSIS</H2><PRE> +</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>int</STRONG> <STRONG>getstr(char</STRONG> <STRONG>*str);</STRONG> @@ -66,90 +66,125 @@ <STRONG>int</STRONG> <STRONG>mvwgetnstr(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG> -</PRE> -<H2>DESCRIPTION</H2><PRE> - The function <STRONG>getstr</STRONG> is equivalent to a series of calls to - <STRONG>getch</STRONG>, until a newline or carriage return is received (the - terminating character is not included in the returned - string). The resulting value is placed in the area point- - ed to by the character pointer <EM>str</EM>. - - <STRONG>wgetnstr</STRONG> reads at most <EM>n</EM> characters, thus preventing a - possible overflow of the input buffer. Any attempt to en- - ter more characters (other than the terminating newline or - carriage return) causes a beep. Function keys also cause - a beep and are ignored. The <STRONG>getnstr</STRONG> function reads from - the <EM>stdscr</EM> default window. - - The user's erase and kill characters are interpreted. If - keypad mode is on for the window, <STRONG>KEY_LEFT</STRONG> and - <STRONG>KEY_BACKSPACE</STRONG> are both considered equivalent to the user's - kill character. - - Characters input are echoed only if <STRONG>echo</STRONG> is currently on. - In that case, backspace is echoed as deletion of the pre- - vious character (typically a left motion). +</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> + The function <STRONG>getstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, until + a newline or carriage return is received (the terminating character is + not included in the returned string). The resulting value is placed in + the area pointed to by the character pointer <EM>str</EM>, followed by a NUL. + <STRONG>wgetnstr</STRONG> reads at most <EM>n</EM> characters, thus preventing a possible over- + flow of the input buffer. Any attempt to enter more characters (other + than the terminating newline or carriage return) causes a beep. Func- + tion keys also cause a beep and are ignored. The <STRONG>getnstr</STRONG> function + reads from the <EM>stdscr</EM> default window. -</PRE> -<H2>RETURN VALUE</H2><PRE> - All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> - (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") - upon successful completion. + The user's erase and kill characters are interpreted. If keypad mode + is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are both considered + equivalent to the user's kill character. + + Characters input are echoed only if <STRONG>echo</STRONG> is currently on. In that + case, backspace is echoed as deletion of the previous character (typi- + cally a left motion). + + +</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> + All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci- + fies only "an integer value other than <STRONG>ERR</STRONG>") upon successful comple- + tion. X/Open defines no error conditions. - In this implementation, these functions return an error if - the window pointer is null, or if its timeout expires - without having any data. + In this implementation, these functions return an error if the window + pointer is null, or if its timeout expires without having any data. - This implementation provides an extension as well. If a - SIGWINCH interrupts the function, it will return <STRONG>KEY_RE-</STRONG> - <STRONG>SIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. + This implementation provides an extension as well. If a <STRONG>SIGWINCH</STRONG> in- + terrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. - Functions with a "mv" prefix first perform a cursor move- - ment using <STRONG>wmove</STRONG>, and return an error if the position is - outside the window, or if the window pointer is null. + Functions with a "mv" prefix first perform a cursor movement using + <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if + the window pointer is null. -</PRE> -<H2>NOTES</H2><PRE> +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> Note that <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, and <STRONG>mvwgetstr</STRONG> may be macros. -</PRE> -<H2>PORTABILITY</H2><PRE> - These functions are described in the XSI Curses standard, - Issue 4. They read single-byte characters only. The - standard does not define any error conditions. This im- - plementation returns ERR if the window pointer is null, or - if the lower-level <STRONG>wgetch</STRONG> call returns an ERR. - - SVr3 and early SVr4 curses implementations did not reject - function keys; the SVr4.0 documentation claimed that "spe- - cial keys" (such as function keys, "home" key, "clear" - key, <EM>etc</EM>.) are "interpreted", without giving details. It - lied. In fact, the `character' value appended to the - string by those implementations was predictable but not - useful (being, in fact, the low-order eight bits of the - key's KEY_ value). - - The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were - present but not documented in SVr4. +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + These functions are described in the XSI Curses standard, Issue 4. + They read single-byte characters only. The standard does not define + any error conditions. This implementation returns <STRONG>ERR</STRONG> if the window + pointer is null, or if the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an <STRONG>ERR</STRONG>. + SVr3 and early SVr4 curses implementations did not reject function + keys; the SVr4.0 documentation claimed that "special keys" (such as + function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted", with- + out giving details. It lied. In fact, the "character" value appended + to the string by those implementations was predictable but not useful + (being, in fact, the low-order eight bits of the key's KEY_ value). -</PRE> -<H2>SEE ALSO</H2><PRE> + The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not + documented in SVr4. + + X/Open Curses, Issue 5 (2007) stated that these functions "read at most + <EM>n</EM> bytes" but did not state whether the terminating NUL is counted in + that limit. X/Open Curses, Issue 7 (2009) changed that to say they + "read at most <EM>n</EM>-1 bytes" to allow for the terminating NUL. As of 2018, + some implementations do, some do not count it: + + <STRONG>o</STRONG> ncurses 6.1 and PDCurses do not count the NUL in the given limit, + while + + <STRONG>o</STRONG> Solaris SVr4 and NetBSD curses count the NUL as part of the limit. + + <STRONG>o</STRONG> Solaris xcurses provides both: its wide-character <STRONG>wget_nstr</STRONG> re- + serves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL consistently. + + In SVr4 curses, a negative value of <EM>n</EM> tells <STRONG>wgetnstr</STRONG> to assume that the + caller's buffer is large enough to hold the result, i.e., to act like + <STRONG>wgetstr</STRONG>. X/Open Curses does not mention this (or anything related to + negative or zero values of <EM>n</EM>), however most implementations use the + feature, with different limits: + + <STRONG>o</STRONG> Solaris SVr4 curses and PDCurses limit the result to 255 bytes. + Other Unix systems than Solaris are likely to use the same limit. + + <STRONG>o</STRONG> Solaris xcurses limits the result to <STRONG>LINE_MAX</STRONG> bytes. + + <STRONG>o</STRONG> NetBSD 7 assumes no particular limit for the result from <STRONG>wgetstr</STRONG>. + However, it limits the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure that it is + greater than zero. + + A comment in NetBSD's source code states that this is specified in + SUSv2. + + <STRONG>o</STRONG> ncurses (before 6.2) assumes no particular limit for the result + from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4 + curses. + + <STRONG>o</STRONG> ncurses 6.2 uses <STRONG>LINE_MAX</STRONG>, or a larger (system-dependent) value + which the <STRONG>sysconf</STRONG> function may provide. If neither <STRONG>LINE_MAX</STRONG> or + <STRONG>sysconf</STRONG> is available, ncurses uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a + 2048 byte limit). In either case, it reserves a byte for the ter- + minating NUL. + + +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>. - <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> + <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> </PRE> -<HR> -<ADDRESS> -Man(1) output converted with -<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> -</ADDRESS> +<div class="nav"> +<ul> +<li><a href="#h2-NAME">NAME</a></li> +<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> +<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> +<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> +</ul> +</div> </BODY> </HTML> |