-<!--
+<!--
****************************************************************************
- * Copyright (c) 2002-2012,2017 Free Software Foundation, Inc. *
+ * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2002-2012,2017 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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wstr.3x,v 1.11 2017/03/04 21:24:04 tom Exp @
+ * @Id: curs_get_wstr.3x,v 1.26 2022/02/12 20:07:29 tom Exp @
-->
<!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 http://invisible-island.net/scripts/readme.html#others_scripts">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_get_wstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
</HEAD>
<BODY>
<H1 class="no-header">curs_get_wstr 3x</H1>
<STRONG>int</STRONG> <STRONG>getn_wstr(wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wget_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wgetn_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>mvget_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvgetn_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwget_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in The Single Unix Specification, Version
- 2. No error conditions are defined. This implementation returns ERR
+ 2. No error conditions are defined. This implementation returns <STRONG>ERR</STRONG>
if the window pointer is null, or if the lower-level <STRONG>wget_wch</STRONG> call re-
- turns an ERR. In the latter case, an ERR return without other data is
+ turns an <STRONG>ERR</STRONG>. In the latter case, an <STRONG>ERR</STRONG> return without other data is
treated as an end-of-file condition, and the returned array contains a
<STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
X/Open curses documented these functions to pass an array of <STRONG>wchar_t</STRONG> in
1997, but that was an error because of this part of the description:
- The effect of <EM>get</EM><STRONG>_</STRONG><EM>wstr()</EM> is as though a series of calls to
- <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM> were made, until a newline character, end-of-line
- character, or end-of-file character is processed.
+ The effect of <STRONG>get_wstr</STRONG> is as though a series of calls to <STRONG>get_wch</STRONG>
+ were made, until a newline character, end-of-line character, or
+ end-of-file character is processed.
+
+ The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch</EM> can return a negative value, while <STRONG>wchar_t</STRONG>
+ is a unsigned type. All of the vendors implement this using <STRONG>wint_t</STRONG>,
+ following the standard.
+
+ X/Open Curses, Issue 7 (2009) is unclear regarding whether the termi-
+ nating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the length parameter <EM>n</EM>. X/Open
+ Curses, Issue 7 revised the corresponding description of <STRONG>wgetnstr</STRONG> to
+ address this issue. The unrevised description of <STRONG>wget_nwstr</STRONG> can be in-
+ terpreted either way. This implementation counts the terminator in the
+ length.
+
+ X/Open Curses does not specify what happens if the length <EM>n</EM> is nega-
+ tive.
+
+ <STRONG>o</STRONG> For analogy with <STRONG>wgetnstr</STRONG>, ncurses 6.2 uses a limit (based on
+ <STRONG>LINE_MAX</STRONG>).
+
+ <STRONG>o</STRONG> Some other implementations (such as Solaris xcurses) do the same,
+ while others (PDCurses) do not allow this.
- The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM> can return a negative value, while
- <STRONG>wchar_t</STRONG> is a unsigned type. All of the vendors implement this using
- <STRONG>wint_t</STRONG>, following the standard.
+ <STRONG>o</STRONG> NetBSD 7 curses imitates ncurses 6.1 in this regard, treating a <STRONG>-1</STRONG>
+ as an indefinite number of characters.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>