X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=man%2Fcurs_insstr.3x;h=888d4250091fd9c6b74ab48356fefd87c61c8a90;hb=refs%2Fheads%2Fmaster;hp=7bc2006d6f7e7ee411700d45c0fd68e655fbabf2;hpb=7e062bb2764a87d98073a90ee65a234a2679f9c1;p=ncurses.git diff --git a/man/curs_insstr.3x b/man/curs_insstr.3x index 7bc2006d..2641f05a 100644 --- a/man/curs_insstr.3x +++ b/man/curs_insstr.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright 2019-2022,2023 Thomas E. Dickey * +.\" Copyright 2019-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 * @@ -27,12 +27,23 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_insstr.3x,v 1.39 2023/09/30 21:38:11 tom Exp $ -.TH curs_insstr 3X 2023-09-30 "ncurses 6.4" "Library calls" -.ie \n(.g .ds `` \(lq -.el .ds `` `` -.ie \n(.g .ds '' \(rq -.el .ds '' '' +.\" $Id: curs_insstr.3x,v 1.55 2024/06/08 21:03:03 tom Exp $ +.TH curs_insstr 3X 2024-06-08 "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\%insstr\fP, \fB\%insnstr\fP, @@ -44,62 +55,93 @@ \fB\%mvwinsnstr\fP \- insert a string in a \fIcurses\fR window .SH SYNOPSIS -\fB#include \fP -.br -\fBint insstr(const char *\fIstr\fB);\fR -.br -\fBint insnstr(const char *\fIstr\fB, int \fIn\fB);\fR -.br -\fBint winsstr(WINDOW *\fIwin\fB, const char *\fIstr\fB);\fR -.br -\fBint winsnstr(WINDOW *\fIwin\fB, const char *\fIstr\fB, int \fIn\fB);\fR -.sp -\fBint mvinsstr(int \fIy\fB, int \fIx\fB, const char *\fIstr\fB);\fR -.br -\fBint mvinsnstr(int \fIy\fB, int \fIx\fB, const char *\fIstr\fB, int \fIn\fB);\fR -.br -\fBint mvwinsstr(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB, const char *\fIstr\fB);\fR -.br -\fBint mvwinsnstr(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB, const char *\fIstr\fB, int \fIn\fB);\fR +.nf +\fB#include +\fBint insstr(const char *\fIstr\fP); +\fBint insnstr(const char *\fIstr\fP, int \fIn\fP); +\fBint winsstr(WINDOW *\fIwin\fP, const char *\fIstr\fP); +\fBint winsnstr(WINDOW *\fIwin\fP, const char *\fIstr\fP, int \fIn\fP); +.PP +\fBint mvinsstr(int \fIy\fP, int \fIx\fP, const char *\fIstr\fP); +\fBint mvinsnstr(int \fIy\fP, int \fIx\fP, const char *\fIstr\fP, int \fIn\fP); +\fBint mvwinsstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const char *\fIstr\fP); +\fBint mvwinsnstr(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, const char *\fIstr\fP, int \fIn\fP); +.fi .SH DESCRIPTION These routines insert a character string (as many characters as will fit on the line) -before the character under the cursor. -All characters to the right of the cursor are shifted right +before the character under the cursor, +as if calling \fBwinsch\fP(3X). +All characters to the right of the cursor are shifted right, with the possibility of the rightmost characters on the line being lost. +No wrapping is performed. +.PP The cursor position does not change (after moving to \fIy\fP, \fIx\fP, if specified). +.PP The functions with \fIn\fP as the last argument insert a leading substring of at most \fIn\fP characters. -If \fIn\fP<=0, then the entire string is inserted. +If \fIn\fP is less than zero, the entire string is inserted +(stopping on a NUL character). .PP -Special characters are handled as in \fBaddch\fP. +Special characters are handled as in \fBwaddch\fP(3X). .SH RETURN VALUE -All routines that return an integer return \fBERR\fP upon failure and \fBOK\fP -(SVr4 specifies only "an integer value other than \fBERR\fP") -upon successful completion, -unless otherwise noted in the preceding routine descriptions. +All functions return the integer \fBERR\fP upon failure and \fBOK\fP on success. .PP -X/Open defines no error conditions. -In this implementation, -if the window parameter is null or the str parameter is null, -an error is returned. +X/Open Curses does not specify any error conditions. +This implementation returns +.B ERR +.bP +if the \fIwin\fP parameter is null or +.bP +if the \fIstr\fP parameter is null or +.bP +the \fBwinsch\fP(3X) function returns +.BR ERR "." .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 but \fBwinsnstr\fP may be macros. +All but \fBwinsnstr\fP may be macros. .SH PORTABILITY -These functions are described in the XSI Curses standard, Issue 4, which adds -const qualifiers to the arguments. -.LP -The Single Unix Specification, Version 2 states that -\fBinsnstr\fP and \fBwinsnstr\fP perform wrapping. -This is probably an error, since it makes this group of functions inconsistent. -Also, no implementation of curses documents this inconsistency. +X/Open Curses, +Issue 4 describes these functions. +It specifies no error conditions for them. +.PP +Issue 4 distinguished +.B \%insnstr +and +.B \%winsnstr +by stating they \*(``do not perform wrapping\*(''. +This was probably an error, +since it makes this group of functions inconsistent. +No implementation of +.I curses +documents this inconsistency, +and Issue 7 removed it. +.PP +Issue 4 states that the entire string is inserted if +.I n +is less than 1. +This is probably an error, +because it is inconsistent with other functions, +and differs from the SVr4 +.I curses +and Solaris +.I xcurses +implementations. +Nevertheless, +Issue 7 retains it. .SH SEE ALSO +\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_util\fP(3X), -\fB\%curs_clear\fP(3X), -\fB\%curs_inch\fP(3X) +\fB\%curs_inch\fP(3X), +\fB\%curs_ins_wstr\fP(3X), +\fB\%curs_util\fP(3X)