diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2023-10-17 09:52:12 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2023-10-17 09:52:12 +0000 |
commit | 4dd5152bda3754d6c8238063f70a240feb2e0e01 (patch) | |
tree | 6761e0e8227c4b726ec8793dfd89d53fcf7c2e8a /lib/libcurses/curs_printw.3 | |
parent | 19c1736b607cf07af1e272ef5638ff0d90b4faff (diff) |
Update ncurses and associated libraries (form, panel, menu) to
6.4-20230826 (from 5.7-20081102).
Based on result from Thomas Dickey's ncu2openbsd script and then
modified. Switches to the upstream tput. Major bump for the ncurses
libraries and for libedit and libreadline.
Help from tb, millert.
ok deraadt sthen
Diffstat (limited to 'lib/libcurses/curs_printw.3')
-rw-r--r-- | lib/libcurses/curs_printw.3 | 146 |
1 files changed, 103 insertions, 43 deletions
diff --git a/lib/libcurses/curs_printw.3 b/lib/libcurses/curs_printw.3 index 02333f945aa..68ea5b8b129 100644 --- a/lib/libcurses/curs_printw.3 +++ b/lib/libcurses/curs_printw.3 @@ -1,7 +1,8 @@ -.\" $OpenBSD: curs_printw.3,v 1.11 2010/01/12 23:21:59 nicm Exp $ +.\" $OpenBSD: curs_printw.3,v 1.12 2023/10/17 09:52:08 nicm Exp $ .\" .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +.\" Copyright 2018-2021,2022 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 * @@ -28,47 +29,57 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_printw.3,v 1.11 2010/01/12 23:21:59 nicm Exp $ -.TH curs_printw 3 "" +.\" $Id: curs_printw.3,v 1.12 2023/10/17 09:52:08 nicm Exp $ +.TH curs_printw 3 2022-02-12 "ncurses 6.4" "Library calls" +.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 -\fBprintw\fR, -\fBwprintw\fR, -\fBmvprintw\fR, -\fBmvwprintw\fR, -\fBvwprintw\fR, \fBvw_printw\fR - print formatted output in \fBcurses\fR windows +\fBprintw\fP, +\fBwprintw\fP, +\fBmvprintw\fP, +\fBmvwprintw\fP, +\fBvwprintw\fP, \fBvw_printw\fP \- print formatted output in \fBcurses\fP windows .ad .hy .SH SYNOPSIS -\fB#include <curses.h>\fR +\fB#include <curses.h>\fP .sp -\fBint printw(const char *fmt, ...);\fR +\fBint printw(const char *\fIfmt\fB, ...);\fR .br -\fBint wprintw(WINDOW *win, const char *fmt, ...);\fR +\fBint wprintw(WINDOW *\fIwin\fB, const char *\fIfmt\fB, ...);\fR .br -\fBint mvprintw(int y, int x, const char *fmt, ...);\fR +\fBint mvprintw(int \fIy\fB, int \fIx\fB, const char *\fIfmt\fB, ...);\fR .br -\fBint mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...);\fR +\fBint mvwprintw(WINDOW *\fIwin\fB, int \fIy\fB, int \fIx\fB, const char *\fIfmt\fB, ...);\fR .br -\fBint vwprintw(WINDOW *win, const char *fmt, va_list varglist);\fR -.br -\fBint vw_printw(WINDOW *win, const char *fmt, va_list varglist);\fR +\fBint vw_printw(WINDOW *\fIwin\fB, const char *\fIfmt\fB, va_list \fIvarglist\fB);\fR +.sp +/* obsolete */ .br +\fBint vwprintw(WINDOW *\fIwin\fB, const char *\fIfmt\fB, va_list \fIvarglist\fB);\fR .SH DESCRIPTION -The \fBprintw\fR, \fBwprintw\fR, \fBmvprintw\fR and \fBmvwprintw\fR -routines are analogous to \fBprintf\fR [see \fBprintf\fR(3)]. In -effect, the string that would be output by \fBprintf\fR is output -instead as though \fBwaddstr\fR were used on the given window. +The \fBprintw\fP, \fBwprintw\fP, \fBmvprintw\fP and \fBmvwprintw\fP +routines are analogous to \fBprintf\fP [see \fBprintf\fP(3)]. +In +effect, the string that would be output by \fBprintf\fP is output +instead as though \fBwaddstr\fP were used on the given window. .PP -The \fBvwprintw\fR and \fBwv_printw\fR routines are analogous -to \fBvprintf\fR [see \fBprintf\fR(3)] -and perform a \fBwprintw\fR using a variable argument list. -The third argument is a \fBva_list\fR, a pointer to a -list of arguments, as defined in \fB<stdarg.h>\fR. +The \fBvwprintw\fP and \fBvw_printw\fP routines are analogous +to \fBvprintf\fP [see \fBprintf\fP(3)] +and perform a \fBwprintw\fP using a variable argument list. +The third argument is a \fBva_list\fP, a pointer to a +list of arguments, as defined in \fB<stdarg.h>\fP. .SH RETURN VALUE -Routines that return an integer return \fBERR\fR upon failure and \fBOK\fR -(SVr4 only specifies "an integer value other than \fBERR\fR") upon successful +Routines that return an integer return \fBERR\fP upon failure and \fBOK\fP +(SVr4 only specifies "an integer value other than \fBERR\fP") upon successful completion. .PP X/Open defines no error conditions. @@ -76,21 +87,70 @@ In this implementation, an error may be returned if it cannot allocate enough memory for the buffer used to format the results. It will return an error if the window pointer 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. +.SH HISTORY +While \fBprintw\fP was implemented in 4BSD, +it was unused until 4.2BSD (which used it in games). +That early version of curses was before the ANSI C standard. +It did not use <varargs.h>, though that was available. +In 1991 (a couple of years after SVr4 was generally available, +and after the C standard was published), +other developers updated the library, +using <stdarg.h> internally in 4.4BSD curses. +Even with this improvement, +BSD curses did not use function prototypes (or even declare +functions) in the <curses.h> header until 1992. +.PP +SVr2 documented +\fBprintw\fP, +\fBwprintw\fP +tersely as \*(``printf on \fIstdscr\fP\*('' and +tersely as \*(``printf on \fIwin\fP\*('', respectively. +.PP +SVr3 added +\fBmvprintw\fP, and +\fBmvwprintw\fP, with a three-line summary saying that they were analogous +to \fBprintf\fP(3), +explaining that the string which would be output from \fBprintf\fP(3) would +instead be output using \fBwaddstr\fP on the given window. +SVr3 also added \fBvwprintw\fP, saying that the third parameter +is a \fBva_list\fP, defined in <varargs.h>, +and referring the reader to the manual pages for \fIvarargs\fP and +\fBvprintf\fP for detailed descriptions. +.PP +SVr4 added no new variations of \fBprintw\fP, +but provided for using <varargs.h> or <stdarg.h> to define the \fBva_list\fP +type. +.PP +X/Open Curses added \fBvw_printw\fP to replace \fBvwprintw\fP, +stating that its \fBva_list\fP definition requires <stdarg.h>. .SH PORTABILITY -The XSI Curses standard, Issue 4 describes these functions. The function -\fBvwprintw\fR is marked TO BE WITHDRAWN, and is to be replaced by a function -\fBvw_printw\fR using the \fB<stdarg.h>\fR interface. +In this implementation, \fBvw_printw\fP and \fBvwprintw\fP are equivalent, +to support legacy applications. +However, the latter (\fBvwprintw\fP) is obsolete: +.bP +The XSI Curses standard, Issue 4 described these functions. +The function +\fBvwprintw\fP is marked TO BE WITHDRAWN, and is to be replaced by a function +\fBvw_printw\fP using the \fB<stdarg.h>\fP interface. +.bP The Single Unix Specification, Version 2 states that -\fBvw_printw\fR is preferred to \fBvwprintw\fR since the latter requires -including \fB<varargs.h>\fR, which -cannot be used in the same file as \fB<stdarg.h>\fR. -This implementation uses \fB<stdarg.h>\fR for both, because that header -is included in \fB<curses.h\fR>. +\fBvw_printw\fP is preferred to \fBvwprintw\fP since the latter requires +including \fB<varargs.h>\fP, which +cannot be used in the same file as \fB<stdarg.h>\fP. +This implementation uses \fB<stdarg.h>\fP for both, +because that header is included in \fB<curses.h\fP>. +.bP +X/Open Curses, Issue 5 (December 2007) marked \fBvwprintw\fP (along with +\fBvwscanw\fP and the termcap interface) as withdrawn. .SH SEE ALSO -\fBcurses\fR(3), \fBprintf\fR(3), \fBvprintf(3)\fR -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: +.na +\fBcurses\fP(3), +\fBcurs_addstr\fP(3), +\fBcurs_scanw\fP(3), +\fBtermcap\fP(3), +\fBprintf\fP(3), +\fBvprintf\fP(3). |