Files
RedBear-OS/recipes/libs/ncurses/source/man/curs_inchstr.3x
T
vasilito ff4ff35918 feat: track all source trees in git — full fork offline-first model
Red Bear OS is a full fork. All sources must be available from git clone
with zero network access. Removed gitignore rules that excluded fetched
source trees under recipes/*/source/, local/recipes/kde/*/source/,
local/recipes/qt/*/source/, and vendor source trees.

Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded.

127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt
frameworks, mesa, wayland, DRM drivers, and every other recipe source.
2026-05-14 10:55:53 +01:00

199 lines
5.8 KiB
Plaintext

.\"***************************************************************************
.\" Copyright 2018-2024,2025 Thomas E. Dickey *
.\" Copyright 1998-2010,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 *
.\" "Software"), to deal in the Software without restriction, including *
.\" without limitation the rights to use, copy, modify, merge, publish, *
.\" distribute, distribute with modifications, sublicense, and/or sell *
.\" copies of the Software, and to permit persons to whom the Software is *
.\" furnished to do so, subject to the following conditions: *
.\" *
.\" The above copyright notice and this permission notice shall be included *
.\" in all copies or substantial portions of the Software. *
.\" *
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
.\" *
.\" Except as contained in this notice, the name(s) of the above copyright *
.\" holders shall not be used in advertising or otherwise to promote the *
.\" sale, use or other dealings in this Software without prior written *
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_inchstr.3x,v 1.65 2025/10/21 00:05:02 tom Exp $
.TH curs_inchstr 3X 2025-10-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\}
.el \{\
.ie t .ds `` ``
.el .ds `` ""
.ie t .ds '' ''
.el .ds '' ""
.\}
.
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
.SH NAME
\fB\%inchstr\fP,
\fB\%inchnstr\fP,
\fB\%winchstr\fP,
\fB\%winchnstr\fP,
\fB\%mvinchstr\fP,
\fB\%mvinchnstr\fP,
\fB\%mvwinchstr\fP,
\fB\%mvwinchnstr\fP \-
get a \fIcurses\fR character string from a window
.SH SYNOPSIS
.nf
\fB#include <curses.h>
.PP
\fBint inchstr(chtype * \fIchstr\fP);
\fBint inchnstr(chtype * \fIchstr\fP, int \fIn\fP);
\fBint winchstr(WINDOW * \fIwin\fP, chtype * \fIchstr\fP);
\fBint winchnstr(WINDOW * \fIwin\fP, chtype * \fIchstr\fP, int \fIn\fP);
.PP
\fBint mvinchstr(int \fIy\fP, int \fIx\fP, chtype * \fIchstr\fP);
\fBint mvinchnstr(int \fIy\fP, int \fIx\fP, chtype * \fIchstr\fP, int \fIn\fP);
\fBint mvwinchstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, chtype * \fIchstr\fP);
\fBint mvwinchnstr(WINDOW * \fIwin\fP, int \fIy\fP, int \fIx\fP, chtype * \fIchstr\fP, int \fIn\fP);
.fi
.SH DESCRIPTION
.B \%winchstr
extracts a
.I curses
character string from a
.I curses
window
.IR win ","
starting at the cursor and stopping at the end of the line,
and stores it in
.IR chstr ","
terminating it with a null
.I curses
character.
.B \%winchnstr
does the same,
but copies at most
.I n
.I curses
characters from
.IR win "."
A negative
.I n
implies no limit;
.B \%winchnstr
then works like
.BR \%winchstr "."
\fB\%ncurses\fP(3X) describes the variants of these functions.
.SH RETURN VALUE
These functions return
.B OK
on success and
.B ERR
on failure.
.PP
In
.IR \%ncurses ","
these functions fail if
.bP
the
.I curses
screen has not been initialized,
.bP
(for functions taking a
.I \%WINDOW
pointer argument)
.I win
is a null pointer,
or
.bP
.I chstr
is a null pointer.
.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
All of these functions except
.B \%winchnstr
may be implemented as macros.
.PP
Reading a line that overflows the array pointed to by
.I chstr
and its variants causes undefined results.
Instead,
use the
.IR n -infixed
functions with a positive
.I n
argument no larger than the size of the buffer backing
.IR chstr "."
.SH EXTENSIONS
.BR \%inchnstr ","
.BR \%winchnstr ","
.BR \%mvinchnstr ","
and
.BR \%mvwinchnstr "'s"
acceptance of negative
.I n
values is an
.I \%ncurses
extension.
.SH PORTABILITY
Applications employing
.I \%ncurses
extensions should condition their use on the visibility of the
.B \%NCURSES_VERSION
preprocessor macro.
.PP
X/Open Curses Issue\ 4 describes these functions.
It specifies no error conditions for them.
It characterizes the strings stored by these functions as containing
\*(``at most
.I n
elements\*('' from a window,
.\" X/Open Issue 4, Version 2, p. 113, PDF p. 133
.\" Issue 7 doesn't change this wording at all.
but does not specify whether the string stored by these functions is
null-terminated.
.PP
SVr4 does not document whether it null-terminates the
.I curses
character string it stores
in
.IR chstr ","
and does not document whether a trailing null
.I curses
character counts
toward the length limit
.IR n "."
.PP
SVr4 describes a successful return value only as
\*(``an integer value other than
.IR ERR \*(''. \" Courier roman in source; SVID 4, vol. 3, p. 503
.SH HISTORY
SVr3.1 (1987)
introduced these functions.
.SH SEE ALSO
\fB\%curs_in_wchstr\fP(3X) describes comparable functions of the
.I \%ncurses
library in its wide-character configuration
.RI \%( ncursesw ).
.PP
\fB\%curses\fP(3X),
\fB\%curs_inch\fP(3X),
\fB\%curs_inwstr\fP(3X)