]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - man/curs_instr.3x
ncurses 6.5 - patch 20240504
[ncurses.git] / man / curs_instr.3x
index fab97c94f4558cdbb721b8970fdb174bc4eb5716..5b6e4b760301e5a9c54c557c91bc52410e115bc4 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
 .\" Copyright 1998-2010,2017 Free Software Foundation, Inc.                  *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_instr.3x,v 1.29 2023/07/01 15:43:20 tom Exp $
-.TH curs_instr 3X 2023-07-01 "ncurses 6.4" "Library calls"
-.ie \n(.g .ds `` \(lq
-.el       .ds `` ``
-.ie \n(.g .ds '' \(rq
-.el       .ds '' ''
+.\" $Id: curs_instr.3x,v 1.51 2024/04/20 21:24:19 tom Exp $
+.TH curs_instr 3X 2024-04-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
-\fBinstr\fP,
-\fBinnstr\fP,
-\fBwinstr\fP,
-\fBwinnstr\fP,
-\fBmvinstr\fP,
-\fBmvinnstr\fP,
-\fBmvwinstr\fP,
-\fBmvwinnstr\fP \- get a string of characters from a \fBcurses\fP window
+\fB\%instr\fP,
+\fB\%innstr\fP,
+\fB\%winstr\fP,
+\fB\%winnstr\fP,
+\fB\%mvinstr\fP,
+\fB\%mvinnstr\fP,
+\fB\%mvwinstr\fP,
+\fB\%mvwinnstr\fP \-
+get a string from a \fIcurses\fR window
 .SH SYNOPSIS
-\fB#include <curses.h>\fP
-.sp
-\fBint instr(char *\fIstr\fB);\fR
-.br
-\fBint innstr(char *\fIstr\fB, int \fIn\fB);\fR
-.br
-\fBint winstr(WINDOW *\fIwin\fB, char *\fIstr\fB);\fR
-.br
-\fBint winnstr(WINDOW *\fIwin\fB, char *\fIstr\fB, int \fIn\fB);\fR
-.sp
-\fBint mvinstr(int \fIy\fB, int \fIx\fB, char *\fIstr\fB);\fR
-.br
-\fBint mvinnstr(int \fIy\fB, int \fIx\fB, char *\fIstr\fB, int \fIn\fB);\fR
-.br
-\fBint mvwinstr(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB, char *\fIstr\fB);\fR
-.br
-\fBint mvwinnstr(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB, char *\fIstr\fB, int \fIn\fB);\fR
+.nf
+\fB#include <curses.h>
+.PP
+\fBint instr(char *\fIstr\fP);
+\fBint innstr(char *\fIstr\fP, int \fIn\fP);
+\fBint winstr(WINDOW *\fIwin\fP, char *\fIstr\fP);
+\fBint winnstr(WINDOW *\fIwin\fP, char *\fIstr\fP, int \fIn\fP);
+.PP
+\fBint mvinstr(int \fIy\fP, int \fIx\fP, char *\fIstr\fP);
+\fBint mvinnstr(int \fIy\fP, int \fIx\fP, char *\fIstr\fP, int \fIn\fP);
+\fBint mvwinstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, char *\fIstr\fP);
+\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.
+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 \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.
 .PP
-The ncurses library extends the XSI description by allowing a negative
-value for \fIn\fP.
+The \fI\%ncurses\fP library extends the X/Open Curses description by allowing a
+negative value for \fIn\fP.
 In this case, the functions return the string ending at the right margin.
 .SH SEE ALSO
-\fBcurses\fP(3X).
+\fB\%curs_ins_wstr\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_inchstr\fP(3X)