X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=man%2Fcurs_insstr.3x;h=6c7035365aec5ccdb24d93f4abe13f8de9a4935b;hb=HEAD;hp=3e38a531d5fb79e2ff2e84764ac028ab0cc849fa;hpb=96d6b16de0d487e5d3aed0302a179dbce11b5d96;p=ncurses.git diff --git a/man/curs_insstr.3x b/man/curs_insstr.3x index 3e38a531..2641f05a 100644 --- a/man/curs_insstr.3x +++ b/man/curs_insstr.3x @@ -1,5 +1,6 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. * +.\" 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 * .\" copy of this software and associated documentation files (the * @@ -26,74 +27,121 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_insstr.3x,v 1.21 2010/12/04 18:38:55 tom Exp $ -.TH curs_insstr 3X "" +.\" $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 -\fBinsstr\fR, -\fBinsnstr\fR, -\fBwinsstr\fR, -\fBwinsnstr\fR, -\fBmvinsstr\fR, -\fBmvinsnstr\fR, -\fBmvwinsstr\fR, -\fBmvwinsnstr\fR \- insert string before cursor in a \fBcurses\fR window +\fB\%insstr\fP, +\fB\%insnstr\fP, +\fB\%winsstr\fP, +\fB\%winsnstr\fP, +\fB\%mvinsstr\fP, +\fB\%mvinsnstr\fP, +\fB\%mvwinsstr\fP, +\fB\%mvwinsnstr\fP \- +insert a string in a \fIcurses\fR window .SH SYNOPSIS -\fB#include \fR -.br -\fBint insstr(const char *str);\fR -.br -\fBint insnstr(const char *str, int n);\fR -.br -\fBint winsstr(WINDOW *win, const char *str);\fR -.br -\fBint winsnstr(WINDOW *win, const char *str, int n);\fR -.br -\fBint mvinsstr(int y, int x, const char *str);\fR -.br -\fBint mvinsnstr(int y, int x, const char *str, int n);\fR -.br -\fBint mvwinsstr(WINDOW *win, int y, int x, const char *str);\fR -.br -\fBint mvwinsnstr(WINDOW *win, int y, int x, const char *str, int n);\fR -.br +.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\fR, \fIx\fR, if specified). -The functions with \fIn\fR as the last argument -insert a leading substring of at most \fIn\fR characters. -If \fIn\fR<=0, then the entire string is inserted. +(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 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\fR upon failure and OK (SVr4 -specifies only "an integer value other than \fBERR\fR") 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\fR 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 -\fBcurses\fR(3X), -\fBcurs_util\fR(3X), -\fBcurs_clear\fR(3X), -\fBcurs_inch\fR(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_ins_wstr\fP(3X), +\fB\%curs_util\fP(3X)