X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fcurs_scanw.3x;h=1de9ad866839a603429cae3888de26a17c9a2e9d;hp=ccbe8af32bbbb13fd1c37f17ed6dd6099c815a66;hb=a6eb34d7fec8170a8715f9e53ca2f96452dd30dd;hpb=d97989d1e0db7282c723cabb44b991b951790006 diff --git a/man/curs_scanw.3x b/man/curs_scanw.3x index ccbe8af3..1de9ad86 100644 --- a/man/curs_scanw.3x +++ b/man/curs_scanw.3x @@ -1,5 +1,6 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. * +.\" Copyright 2018-2019,2020 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,7 +27,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_scanw.3x,v 1.25 2019/11/30 21:06:30 tom Exp $ +.\" $Id: curs_scanw.3x,v 1.28 2020/10/24 09:29:26 tom Exp $ .TH curs_scanw 3X "" .ie \n(.g .ds `` \(lq .el .ds `` `` @@ -45,19 +46,19 @@ .SH SYNOPSIS \fB#include \fR .sp -\fBint scanw(const char *fmt, ...);\fR +\fBint scanw(const char *\fP\fIfmt\fP\fB, ...);\fR .br -\fBint wscanw(WINDOW *win, const char *fmt, ...);\fR +\fBint wscanw(WINDOW *\fP\fIwin\fP\fB, const char *\fP\fIfmt\fP\fB, ...);\fR .br -\fBint mvscanw(int y, int x, const char *fmt, ...);\fR +\fBint mvscanw(int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, const char *\fP\fIfmt\fP\fB, ...);\fR .br -\fBint mvwscanw(WINDOW *win, int y, int x, const char *fmt, ...);\fR -.br -\fBint vw_scanw(WINDOW *win, const char *fmt, va_list varglist);\fR +\fBint mvwscanw(WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB, const char *\fP\fIfmt\fP\fB, ...);\fR +.sp +\fBint vw_scanw(WINDOW *\fP\fIwin\fP\fB, const char *\fP\fIfmt\fP\fB, va_list \fP\fIvarglist\fP\fB);\fR .sp /* obsolete */ .br -\fBint vwscanw(WINDOW *win, const char *fmt, va_list varglist);\fR +\fBint vwscanw(WINDOW *\fP\fIwin\fP\fB, const char *\fP\fIfmt\fP\fB, va_list \fP\fIvarglist\fP\fB);\fR .SH DESCRIPTION The \fBscanw\fR, \fBwscanw\fR and \fBmvscanw\fR routines are analogous to \fBscanf\fR [see \fBscanf\fR(3)]. @@ -82,6 +83,44 @@ which were mapped in the call. 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 \fBscanw\fP was implemented in 4BSD, +none of the BSD releases used it until 4.4BSD (in a game). +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 +\fBscanw\fP, +\fBwscanw\fP +tersely as \*(``scanf through \fIstdscr\fP\*('' and +tersely as \*(``scanf through \fIwin\fP\*('', respectively. +.PP +SVr3 added +\fBmvscanw\fP, and +\fBmvwscanw\fP, with a three-line summary saying that they were analogous +to \fBscanf\fP(3), +explaining that the string which would be output from \fBscanf\fP(3) would +instead be output using \fBwaddstr\fP on the given window. +SVr3 also added \fBvwscanw\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 +\fIvprintf\fP for detailed descriptions. +(Because the SVr3 documentation does not mention \fIvscanf\fP, +that reference to \fIvprintf\fP may not be an error). +.PP +SVr4 added no new variations of \fBscanw\fP, +but provided for using or to define the \fBva_list\fP +type. +.PP +X/Open Curses added \fBvw_scanw\fP to replace \fBvwscanw\fP, +stating that its \fBva_list\fP definition requires . .SH PORTABILITY In this implementation, \fBvw_scanw\fP and \fBvwscanw\fP are equivalent, to support legacy applications.