X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fcurs_insstr.3x;h=4d5f123e928b0c6e525d52cbae7133a1be3b4fcc;hp=b396ec52613bf8898067e3e77ed953db4691b8a9;hb=HEAD;hpb=8d3ea9021573747ecd129228ba7782a03243f62c diff --git a/man/curs_insstr.3x b/man/curs_insstr.3x index b396ec52..1a2a0efe 100644 --- a/man/curs_insstr.3x +++ b/man/curs_insstr.3x @@ -1,5 +1,6 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2010,2017 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,75 +27,100 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_insstr.3x,v 1.22 2017/11/21 00:53:44 tom Exp $ -.TH curs_insstr 3X "" +.\" $Id: curs_insstr.3x,v 1.53 2024/05/25 20:10:58 tom Exp $ +.TH curs_insstr 3X 2024-05-25 "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 \fBOK\fP -(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 +These functions are described in X/Open Curses, Issue 4, +which adds \fI\%const\fP qualifiers to the arguments. +.PP +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. +.PP +X/Open states that the entire string is inserted if \fIn\fP is less than 1. +This is probably an error, +because it is inconsistent with other functions, +and differs from the SVr4 and X/Open implementations on Solaris. .SH SEE ALSO -\fBcurses\fR(3X), -\fBcurs_util\fR(3X), -\fBcurs_clear\fR(3X), -\fBcurs_inch\fR(3X). +\fB\%curses\fP(3X), +\fB\%curs_inch\fP(3X), +\fB\%curs_ins_wstr\fP(3X), +\fB\%curs_util\fP(3X)