X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=man%2Fcurs_printw.3x;h=4a16053fc0faa44c44a60a850db6e7a85b77ba1e;hb=91e462de27aeecd5b1c8965a6dba078f7a438003;hp=9918f9df9a718918cc62edd9a56c6b09dc53cb66;hpb=96d6b16de0d487e5d3aed0302a179dbce11b5d96;p=ncurses.git diff --git a/man/curs_printw.3x b/man/curs_printw.3x index 9918f9df..4a16053f 100644 --- a/man/curs_printw.3x +++ b/man/curs_printw.3x @@ -1,5 +1,6 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. * +.\" Copyright 2018-2020,2021 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,47 +27,57 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_printw.3x,v 1.20 2010/12/04 18:40:45 tom Exp $ +.\" $Id: curs_printw.3x,v 1.31 2021/12/25 21:49:32 tom Exp $ .TH curs_printw 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 -\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 \fR +\fB#include \fP .sp -\fBint printw(const char *fmt, ...);\fR +\fBint printw(const char *\fP\fIfmt\fP\fB, ...);\fP .br -\fBint wprintw(WINDOW *win, const char *fmt, ...);\fR +\fBint wprintw(WINDOW *\fP\fIwin\fP\fB, const char *\fP\fIfmt\fP\fB, ...);\fP .br -\fBint mvprintw(int y, int x, const char *fmt, ...);\fR +\fBint mvprintw(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, const char *\fP\fIfmt\fP\fB, ...);\fP .br -\fBint mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...);\fR +\fBint mvwprintw(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, const char *\fP\fIfmt\fP\fB, ...);\fP .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 *\fP\fIwin\fP\fB, const char *\fP\fIfmt\fP\fB, va_list \fP\fIvarglist\fP\fB);\fP +.sp +/* obsolete */ .br +\fBint vwprintw(WINDOW *\fP\fIwin\fP\fB, const char *\fP\fIfmt\fP\fB, va_list \fP\fIvarglist\fP\fB);\fP .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\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\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. @@ -75,18 +86,69 @@ 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 +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 , 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 internally in 4.4BSD curses. +Even with this improvement, +BSD curses did not use function prototypes (or even declare +functions) in the 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 , +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 or 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 . .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\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\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\fR, which -cannot be used in the same file as \fB\fR. -This implementation uses \fB\fR for both, because that header -is included in \fB. +\fBvw_printw\fP is preferred to \fBvwprintw\fP since the latter requires +including \fB\fP, which +cannot be used in the same file as \fB\fP. +This implementation uses \fB\fP for both, +because that header is included in \fB. +.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(3X), \fBprintf\fR(3), \fBvprintf(3)\fR +.na +\fBcurses\fP(3X), +\fBcurs_addstr\fP(3X), +\fBcurs_scanw\fP(3X), +\fBcurs_termcap\fP(3X), +\fBprintf\fP(3), +\fBvprintf\fP(3).