.\"***************************************************************************
-.\" Copyright (c) 2002 Free Software Foundation, Inc. *
+.\" Copyright (c) 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_get_wstr.3x,v 1.2 2002/05/18 21:48:15 tom Exp $
+.\" $Id: curs_get_wstr.3x,v 1.11 2017/03/04 21:24:04 tom Exp $
.TH curs_get_wstr 3X ""
+.na
+.hy 0
.SH NAME
\fBget_wstr\fR,
\fBgetn_wstr\fR,
\fBmvgetn_wstr\fR,
\fBmvwget_wstr\fR,
\fBmvwgetn_wstr\fR \- get an array of wide characters from a curses terminal keyboard
+.ad
+.hy
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fR
-
+.sp
\fBint get_wstr(wint_t *\fR\fIwstr\fR\fB);\fR
.br
\fBint getn_wstr(wint_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR
\fBget_wstr\fR
is as though a series of calls
to
-\fBget_wch\fR
+\fBget_wch\fR(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 \fBWEOF\fR, as defined in \fB<wchar.h>\fR.
The newline and end-of-line conditions are represented by the \fB\\n\fR \fBwchar_t\fR value.
In all instances, the end of the string is terminated by a null \fBwchar_t\fR.
The routine places resulting values in the area pointed to by \fIwstr\fR.
-
+.PP
The user's erase and kill characters are interpreted. If keypad
mode is on for the window, \fBKEY_LEFT\fR and \fBKEY_BACKSPACE\fR
are both considered equivalent to the user's kill character.
-
+.PP
Characters input are echoed only if \fBecho\fR is currently on. In that case,
backspace is echoed as deletion of the previous character (typically a left
motion).
-
+.PP
The effect of
\fBwget_wstr\fR
is as though a series of
calls to
\fBwget_wch\fR
were made.
-
+.PP
The effect of
\fBmvget_wstr\fR
is as though a call to
\fBget_wch\fR
were
made.
-
+.PP
The effect of
\fBmvwget_wstr\fR
is as though a call to
and then a series of calls to
\fBwget_wch\fR
were made.
-
+.PP
The
\fBgetn_wstr\fR,
\fBmvgetn_wstr\fR,
\fBmvgetn_wstr\fR,
\fBmvwgetn_wstr\fR, or
\fBwgetn_wstr\fR, respectively, is recommended.
-
+.PP
These functions cannot return \fBKEY_\fR values because there
is no way to distinguish a \fBKEY_\fR value from a valid \fBwchar_t\fR value.
-
+.PP
All of these routines except \fBwgetn_wstr\fR may be macros.
-.SH RETURN VALUES
+.SH RETURN VALUE
All of these functions return \fBOK\fR upon successful completion.
Otherwise, they return \fBERR\fR.
+.PP
+Functions using a window parameter return an error if it is null.
+.RS
+.TP 5
+\fBwgetn_wstr\fP
+returns an error if the associated call to \fBwget_wch\fP failed.
+.RE
+.PP
+Functions with a "mv" prefix first perform a cursor movement using
+\fBwmove\fP, and return an error if the position is outside the window,
+or if the window pointer is null.
.SH PORTABILITY
These functions are described in The Single Unix Specification, Version 2.
No error conditions are defined.
In the latter case,
an ERR return without other data is treated as an end-of-file condition,
and the returned array contains a \fBWEOF\fR followed by a null \fBwchar_t\fR.
+.PP
+X/Open curses documented these functions to pass an array of \fBwchar_t\fR
+in 1997, but that was an error because of this part of the description:
+.RS
+.PP
+The effect of \fIget_wstr()\fP is as though a series of calls to
+\fIget_wch()\fP were made, until a newline character, end-of-line character, or
+end-of-file character is processed.
+.RE
+.PP
+The latter function \fIget_wch()\fP can return a negative value,
+while \fBwchar_t\fP is a unsigned type.
+All of the vendors implement this using \fBwint_t\fR, following the standard.
.SH SEE ALSO
Functions:
\fBcurses\fR(3X),
\fBcurs_get_wch\fR(3X),
\fBcurs_getstr\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End: