]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - man/curs_addstr.3x
ncurses 6.2 - patch 20210109
[ncurses.git] / man / curs_addstr.3x
index 3859a34b8b429dd6a13dd48e31ca564495e0da2e..6f280e64ee1bae44e5606eb415cd21d5fcfd5ab1 100644 (file)
+.\"***************************************************************************
+.\" Copyright 2019,2020 Thomas E. Dickey                                     *
+.\" Copyright 1998-2012,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_addstr.3x,v 1.23 2020/10/17 23:11:02 tom Exp $
 .TH curs_addstr 3X ""
 .TH curs_addstr 3X ""
+.ie \n(.g .ds `` \(lq
+.el       .ds `` ``
+.ie \n(.g .ds '' \(rq
+.el       .ds '' ''
+.de bP
+.ie n  .IP \(bu 4
+.el    .IP \(bu 2
+..
+.na
+.hy 0
 .SH NAME
 .SH NAME
-\fBaddstr\fR, \fBaddnstr\fR, \fBwaddstr\fR, \fBwaddnstr\fR,
-\fBmvaddstr\fR, \fBmvaddnstr\fR, \fBmvwaddstr\fR, \fBmvwaddnstr\fR - add a
-string of characters to a \fBcurses\fR window and advance cursor
+\fBaddstr\fR,
+\fBaddnstr\fR,
+\fBwaddstr\fR,
+\fBwaddnstr\fR,
+\fBmvaddstr\fR,
+\fBmvaddnstr\fR,
+\fBmvwaddstr\fR,
+\fBmvwaddnstr\fR \- add a string of characters to a \fBcurses\fR window and advance cursor
+.ad
+.hy
 .SH SYNOPSIS
 .SH SYNOPSIS
+.nf
 \fB#include <curses.h>\fR
 \fB#include <curses.h>\fR
-
-\fBint addstr(const char *str);\fR
+.PP
+\fBint addstr(const char *\fR\fIstr\fR\fB);\fR
 .br
 .br
-\fBint addnstr(const char *str, int n);\fR
+\fBint addnstr(const char *\fR\fIstr\fR\fB, int \fR\fIn\fR\fB);\fR
 .br
 .br
-\fBint waddstr(WINDOW *win, const char *str);\fR
+\fBint waddstr(WINDOW *\fR\fIwin\fR\fB, const char *\fR\fIstr\fR\fB);\fR
 .br
 .br
-\fBint waddnstr(WINDOW *win, const char *str, int n);\fR
+\fBint waddnstr(WINDOW *\fR\fIwin\fR\fB, const char *\fR\fIstr\fR\fB, int \fR\fIn\fR\fB);\fR
+.sp
+\fBint mvaddstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const char *\fR\fIstr\fR\fB);\fR
 .br
 .br
-\fBint mvaddstr(int y, int x, const char *str);\fR
+\fBint mvaddnstr(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const char *\fR\fIstr\fR\fB, int \fR\fIn\fR\fB);\fR
 .br
 .br
-\fBint mvaddnstr(int y, int x, const char *str, int n);\fR
+\fBint mvwaddstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const char *\fR\fIstr\fR\fB);\fR
 .br
 .br
-\fBint mvwaddstr(WINDOW *win, int y, int x, const char *str);\fR
-.br
-\fBint mvwaddnstr(WINDOW *win, int y, int x, const char *str, int n);\fR
+\fBint mvwaddnstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const char *\fR\fIstr, int \fR\fIn\fR\fB);\fR
+.fi
 .SH DESCRIPTION
 .SH DESCRIPTION
-These routines write the characters of the (null-terminated) character string
-\fIstr\fR on the given window.  It is similar to calling \fBwaddch\fR once for
-each character in the string.  The four routines with \fIn\fR as the last
-argument write at most \fIn\fR characters.  If \fIn\fR is -1, then the
-entire string will be added.
+These functions write the (null-terminated) character string
+\fIstr\fR on the given window.
+It is similar to calling \fBwaddch\fR once for each byte in the string.
+.PP
+The \fImv\fR functions perform cursor movement once, before writing any
+characters.
+Thereafter, the cursor is advanced as a side-effect of writing to the window.
+.PP
+The four functions with \fIn\fR as the last argument
+write at most \fIn\fR bytes,
+or until a terminating null is reached.
+If \fIn\fR is \-1, then the entire string will be added.
 .SH RETURN VALUE
 .SH RETURN VALUE
-All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success
-(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
-successful completion.
+All functions return the integer \fBERR\fR upon failure and \fBOK\fR on success.
+.PP
+X/Open does not define any error conditions.
+This implementation returns an error
+.bP
+if the window pointer is null or
+.bP
+if the string pointer is null or
+.bP
+if the corresponding calls to \fBwaddch\fP return an error.
+.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.
+If an error is returned by the \fBwmove\fP,
+no characters are added to the window.
+.PP
+If an error is returned by \fBwaddch\fP
+(e.g.,
+because the window is not large enough,
+or an illegal byte sequence was detected)
+only part of the string may be added.
+Aside from that,
+there is a special case in \fBwaddch\fP where an error may be
+returned after successfully writing a character to the lower-right corner
+of a window when \fBscrollok\fP is disabled.
 .SH NOTES
 .SH NOTES
-Note that all of these routines except \fBwaddstr\fR and \fBwaddnstr\fR may be
-macros.
+All of these functions except \fBwaddnstr\fR may be macros.
 .SH PORTABILITY
 .SH PORTABILITY
-All these entry points are described in the XSI Curses standard, Issue 4.  The
-XSI errors EILSEQ and EOVERFLOW, associated with extended-level conformance,
-are not yet detected.
+These functions are described in the XSI Curses standard, Issue 4.
 .SH SEE ALSO
 .SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_addch\fR(3X).
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurses\fR(3X),
+\fBcurs_addch\fR(3X).