.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 2002-2012,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_in_wchstr.3x,v 1.28 2023/11/11 11:42:45 tom Exp $
-.TH curs_in_wchstr 3X 2023-11-11 "ncurses 6.4" "Library calls"
+.\" $Id: curs_in_wchstr.3x,v 1.39 2024/04/20 21:24:19 tom Exp $
+.TH curs_in_wchstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.ie t .ds '' ''
.el .ds '' ""
.\}
+.
+.de bP
+.ie n .IP \(bu 4
+.el .IP \(bu 2
+..
.SH NAME
\fB\%in_wchstr\fP,
\fB\%in_wchnstr\fP,
\fB#include <curses.h>
.PP
\fBint in_wchstr(cchar_t *\fIwchstr\fP);
-\fBint in_wchnstr(cchar_t *\fIwchstr\fP, int \fIn\fP);
\fBint win_wchstr(WINDOW *\fIwin\fP, cchar_t *\fIwchstr\fP);
-\fBint win_wchnstr(WINDOW *\fIwin\fP, cchar_t *\fIwchstr\fP, int \fIn\fP);
-.PP
\fBint mvin_wchstr(int \fIy\fP, int \fIx\fP, cchar_t *\fIwchstr\fP);
-\fBint mvin_wchnstr(int \fIy\fP, int \fIx\fP, cchar_t *\fIwchstr\fP, int \fIn\fP);
\fBint mvwin_wchstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, cchar_t *\fIwchstr\fP);
+.PP
+\fBint in_wchnstr(cchar_t *\fIwchstr\fP, int \fIn\fP);
+\fBint win_wchnstr(WINDOW *\fIwin\fP, cchar_t *\fIwchstr\fP, int \fIn\fP);
+\fBint mvin_wchnstr(int \fIy\fP, int \fIx\fP, cchar_t *\fIwchstr\fP, int \fIn\fP);
\fBint mvwin_wchnstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, cchar_t *\fIwchstr\fP, int \fIn\fP);
.fi
.SH DESCRIPTION
starting at the current cursor position in the named window.
Attributes (rendition) are stored with the characters.
.PP
-The
-\fBin_wchnstr\fP,
-\fBmvin_wchnstr\fP,
-\fBmvwin_wchnstr\fP
-and
-\fBwin_wchnstr\fP
-fill the array
-with at most
-\fIn\fP
-\fBcchar_t\fP
-elements.
+The four functions with \fIn\fP as the last argument return
+a leading substring at most \fIn\fP characters long
+(exclusive of the trailing zeroed \fBcchar_t\fR.
+Transfer stops at the end of the current line, or when \fIn\fP characters have
+been stored at the location referenced by \fIwchstr\fP.
+.PP
+Constants defined in \fB<curses.h>\fP can be used with the \fB&\fP (logical
+AND) operator to extract the character or the attribute alone from any position
+in the \fIwchstr\fP [see \fBgetcchar\fP(3X)].
+.SH RETURN VALUE
+Upon successful completion, these functions return
+\fBOK\fP.
+Otherwise, they return
+\fBERR\fP.
+.PP
+X/Open Curses defines no error conditions.
+This implementation returns an error
+.bP
+if the \fIwin\fP parameter is null or
+.bP
+if the \fIwchstr\fP parameter is null.
+.PP
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
-Note that all routines except
-\fBwin_wchnstr\fP
-may be
-macros.
+All routines except \fBwin_wchnstr\fP may be macros.
.PP
Reading a line that overflows the array pointed to by
\fIwchstr\fP
\fBmvwin_wchnstr\fP, or
\fBwin_wchnstr\fP
is recommended.
-.SH RETURN VALUE
-Upon successful completion, these functions return
-\fBOK\fP.
-Otherwise, they return
-\fBERR\fP.
-.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
-The XSI Curses defines no error conditions.
+X/Open Curses defines no error conditions.
This implementation checks for null pointers,
returning \fBERR\fP in that case.
.SH SEE ALSO
+\fB\%curs_inchstr\fP(3X) describes comparable functions of the
+.I \%ncurses
+library in its non-wide-character configuration.
+.PP
\fB\%curses\fP(3X),
-\fB\%curs_inchstr\fP(3X),
-\fB\%curs_instr\fP(3X),
\fB\%curs_inwstr\fP(3X),
\fB\%curs_in_wch\fP(3X)