X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_printw.3x.html;h=9a312a058cfe3ee7fc3e4a8f5e57475c00c8c3c1;hb=159cd0555e0efc14be66c9c3a1548f58908b6a1d;hp=35e39c72563e761def94c2f41488a768ab85a8db;hpb=084e3b44fc1c904d5ab941da55f47a237cb15766;p=ncurses.git diff --git a/doc/html/man/curs_printw.3x.html b/doc/html/man/curs_printw.3x.html index 35e39c72..9a312a05 100644 --- a/doc/html/man/curs_printw.3x.html +++ b/doc/html/man/curs_printw.3x.html @@ -27,19 +27,24 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_printw.3x,v 1.43 2023/11/25 11:31:06 tom Exp @ + * @Id: curs_printw.3x,v 1.47 2023/12/23 14:41:07 tom Exp @ + * https://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/lib/\ + * libcurses/printw.c + * https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/include/\ + * varargs.h + * either header declares "va_list", but only one can be used -->
-curs_printw(3x) Library calls curs_printw(3x) @@ -48,7 +53,7 @@
printw, wprintw, mvprintw, mvwprintw, vwprintw, vw_printw - write - formatted output to curses windows + formatted output to a curses window
@@ -58,6 +63,7 @@ int wprintw(WINDOW *win, const char *fmt, ...); int mvprintw(int y, int x, const char *fmt, ...); int mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...); + int vw_printw(WINDOW *win, const char *fmt, va_list varglist); /* obsolete */ @@ -65,86 +71,88 @@
- The printw, wprintw, mvprintw and mvwprintw routines are analogous to - printf [see printf(3)]. In effect, the string that would be output by - printf is output instead as though waddstr were used on the given - window. + printw, wprintw, mvprintw, and mvwprintw are analogous to printf(3). + In effect, the string that would be output by printf(3) is instead + output as though waddstr(3x) were used with win (or stdscr) as its + first argument. - The vwprintw and vw_printw routines are analogous to vprintf [see - printf(3)] and perform a wprintw using a variable argument list. The - third argument is a va_list, a pointer to a list of arguments, as - defined in <stdarg.h>. + vwprintw and vw_printw are analogous to vprintf(3), and perform a + wprintw using a variable argument list. The third argument is a + va_list, a pointer to a list of arguments, as defined in stdarg.h.
- Routines that return an integer return ERR upon failure and OK (SVr4 - only specifies "an integer value other than ERR") upon successful - completion. + These functions return ERR upon failure and OK upon success. - X/Open defines no error conditions. 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. + In ncurses, failure occurs if the library cannot allocate enough memory + for the buffer into which the output is formatted, or if the window + pointer win is null. Functions with a "mv" prefix first perform a cursor movement using - wmove, and return an error if the position is outside the window, or if - the window pointer is null. - + wmove, and fail if the position is outside the window. -
- In this implementation, vw_printw and vwprintw are equivalent, to - support legacy applications. However, the latter (vwprintw) is - obsolete: - o The XSI Curses standard, Issue 4 described these functions. The - function vwprintw is marked TO BE WITHDRAWN, and is to be replaced - by a function vw_printw using the <stdarg.h> interface. +
+ No wide character counterpart functions are defined by the "wide" + ncurses configuration nor by any standard. To format and write a wide- + character string to a curses window, consider using swprintf(3) and + waddwstr(3x) or similar. - o The Single Unix Specification, Version 2 states that vw_printw is - preferred to vwprintw since the latter requires including - <varargs.h>, which cannot be used in the same file as <stdarg.h>. - This implementation uses <stdarg.h> for both, because that header - is included in <curses.h>. - o X/Open Curses, Issue 5 (December 2007) marked vwprintw (along with - vwscanw and the termcap interface) as withdrawn. +
+ X/Open Curses, Issue 4, describes these functions. It specifies no + error conditions for them. + ncurses defines vw_printw and vwprintw identically to support legacy + applications. However, the latter is obsolete. -
- While printw 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. + o X/Open Curses, Issue 4, Version 2 (1996), marked vwprintw as + requiring varargs.h and "TO BE WITHDRAWN", and specified vw_printw + using the stdarg.h interface. - SVr2 documented printw, wprintw tersely as "printf on stdscr" and - tersely as "printf on win", respectively. + o X/Open Curses, Issue 5, Draft 2 (December 2007) marked vwprintw + (along with vwscanw and the termcap interface) as withdrawn. After + incorporating review comments, this became X/Open Curses, Issue 7 + (2009). - SVr3 added mvprintw, and mvwprintw, with a three-line summary saying - that they were analogous to printf(3), explaining that the string which - would be output from printf(3) would instead be output using waddstr on - the given window. SVr3 also added vwprintw, saying that the third - parameter is a va_list, defined in <varargs.h>, and referring the - reader to the manual pages for varargs and vprintf for detailed - descriptions. + o ncurses provides vwprintw, but marks it as deprecated. - SVr4 added no new variations of printw, but provided for using - <varargs.h> or <stdarg.h> to define the va_list type. - X/Open Curses added vw_printw to replace vwprintw, stating that its - va_list definition requires <stdarg.h>. +
+ While printw was implemented in 4BSD (November 1980), it was unused + until 4.2BSD (August 1983), which employed it for games. That early + version of curses preceded the ANSI C standard of 1989. It did not use + varargs.h, though that had been available since Seventh Edition Unix + (1979). 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 (nor even + declare functions) in curses.h until 1992. + + SVr2 (1984) documented printw and wprintw tersely as "printf on stdscr" + and "printf on win", respectively. + + SVr3 (1987) added mvprintw and mvwprintw, with a three-line summary + asserting that they were analogous to printf(3), explaining that the + string that printf(3) would write to the standard output stream would + instead be output using waddstr to the given window. SVr3 also + implemented vwprintw, describing its third parameter as a va_list, + defined in varargs.h, and referred the reader to the manual pages for + varargs and vprintf for detailed descriptions. + + SVr4 (1989) introduced no new variations of printw, but provided for + using either varargs.h or stdarg.h to define the va_list type. + + X/Open Curses, Issue 4 (1995), defined vw_printw to replace vwprintw, + stating that its va_list type is defined in stdarg.h.
- curses(3x), curs_addstr(3x), curs_scanw(3x), curs_termcap(3x), - printf(3), vprintf(3) + curses(3x), curs_addstr(3x), curs_scanw(3x), printf(3), vprintf(3) -ncurses 6.4 2023-11-25 curs_printw(3x) +ncurses 6.4 2023-12-23 curs_printw(3x)