.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_instr.3x,v 1.36 2023/10/07 21:19:07 tom Exp $
-.TH curs_instr 3X 2023-10-07 "ncurses 6.4" "Library calls"
+.\" $Id: curs_instr.3x,v 1.41 2023/11/19 00:20:02 tom Exp $
+.TH curs_instr 3X 2023-11-18 "ncurses 6.4" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fBint mvwinnstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, char *\fIstr\fP, int \fIn\fP);
.fi
.SH DESCRIPTION
-These routines return a string of characters in \fIstr\fP, extracted starting
-at the current cursor position in the named window.
+These routines return a string of characters in \fIstr\fP,
+starting at the current cursor position in the named window.
Attributes are stripped from the characters.
-The four
-functions with \fIn\fP as the last argument return a leading substring at most
-\fIn\fP characters long (exclusive of the trailing NUL).
+.PP
+The four functions with \fIn\fP as the last argument return
+a leading substring at most \fIn\fP characters long
+(exclusive of the trailing NUL).
+Transfer stops at the end of the current line, or when \fIn\fP characters have
+been stored at the location referenced by \fIstr\fP.
.SH RETURN VALUE
All of the functions return \fBERR\fP upon failure,
or the number of characters actually read into the string.
.PP
X/Open Curses defines no error conditions.
-In this implementation:
+This implementation returns an error
.bP
-If the \fIwin\fP parameter is null, an error is returned,
+if the \fIwin\fP parameter is null or
.bP
-If the \fIchstr\fP parameter is null, an error is returned,
+if the \fIchstr\fP parameter is null.
.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 NOTES
-Note that all routines except \fBwinnstr\fP may be macros.
+All routines except \fBwinnstr\fP may be macros.
+.PP
+Reading a line that overflows the array pointed to by
+\fIstr\fP
+with
+\fBinstr\fP,
+\fBmvinstr\fP,
+\fBmvwinstr\fP
+or
+\fBwinstr\fP
+causes undefined results.
+Therefore, the use of
+\fBinnstr\fP,
+\fBmvinnstr\fP,
+\fBmvwinnstr\fP, or
+\fBwinnstr\fP
+is recommended.
.SH PORTABILITY
SVr4 does not
document whether a length limit includes or excludes the trailing NUL.
value for \fIn\fP.
In this case, the functions return the string ending at the right margin.
.SH SEE ALSO
-\fB\%curses\fP(3X)
+\fB\%curses\fP(3X),
+\fB\%curs_inchstr\fP(3X),
+\fB\%curs_inch\fP(3X),
+\fB\%curs_inwstr\fP(3X),
+\fB\%curs_in_wchstr\fP(3X)