X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fcurs_scanw.3x;h=71ba9eeb4ddfddcc9b07e06de6eb1392f08b5921;hp=6ce1c0d2f84d9fad1e3944cae5d1a0b5a60d9aeb;hb=d803343ca3e2a419085e76fc9f04a6fbd14498b8;hpb=3a9b6a3bf0269231bef7de74757a910dedd04e0c;ds=inline diff --git a/man/curs_scanw.3x b/man/curs_scanw.3x index 6ce1c0d2..71ba9eeb 100644 --- a/man/curs_scanw.3x +++ b/man/curs_scanw.3x @@ -1,36 +1,68 @@ +.\"*************************************************************************** +.\" Copyright (c) 1998-2000,2006 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_scanw.3x,v 1.14 2006/12/24 16:05:49 tom Exp $ .TH curs_scanw 3X "" .SH NAME -\fBscanw\fR, \fBwscanw\fR, \fBmvscanw\fR, -\fBmvwscanw\fR, \fBvwscanw\fR - convert formatted input from a -\fBcurses\fR widow +\fBscanw\fR, +\fBwscanw\fR, +\fBmvscanw\fR, +\fBmvwscanw\fR, +\fBvwscanw\fR, \fBvw_scanw\fR - convert formatted input from a \fBcurses\fR window .SH SYNOPSIS \fB#include \fR - -\fBint scanw(char *fmt\fR [\fB, arg\fR] \fB...);\fR +.sp +\fBint scanw(char *fmt, ...);\fR .br -\fBint wscanw(WINDOW *win, char *fmt\fR [\fB, arg\fR] \fB...);\fR +\fBint wscanw(WINDOW *win, char *fmt, ...);\fR .br -\fBint mvscanw(int y, int x, char *fmt\fR [\fB, arg\fR] \fB...);\fR +\fBint mvscanw(int y, int x, char *fmt, ...);\fR .br -\fBint mvwscanw(WINDOW *win, int y, int x, - char *fmt\fR [\fB, arg]\fR \fB...);\fR +\fBint mvwscanw(WINDOW *win, int y, int x, char *fmt, ...);\fR +.br +\fBint vw_scanw(WINDOW *win, char *fmt, va_list varglist);\fR .br \fBint vwscanw(WINDOW *win, char *fmt, va_list varglist);\fR .SH DESCRIPTION The \fBscanw\fR, \fBwscanw\fR and \fBmvscanw\fR routines are analogous to -\fBscanf\fR [see \fBscanf\fR(3S)]. The effect of these routines is as though +\fBscanf\fR [see \fBscanf\fR(3)]. The effect of these routines is as though \fBwgetstr\fR were called on the window, and the resulting line used as input for \fBsscanf\fR(3). Fields which do not map to a variable in the \fIfmt\fR field are lost. - -The \fBvwscanw\fR routine is similar to \fBvwprintw\fR in that it performs a -\fBwscanw\fR using a variable argument list. The third argument is a -\fIva\fR_\fIlist\fR, a pointer to a list of arguments, as defined in -\fB\fR. +.PP +The \fBvwscanw\fR and \fBvw_scanw\fR routines are analogous to \fBvscanf\fR. +They perform a \fBwscanw\fR using a variable argument list. +The third argument is a \fIva_list\fR, +a pointer to a list of arguments, as defined in \fB\fR. .SH RETURN VALUE \fBvwscanw\fR returns \fBERR\fR on failure and an integer equal to the number of fields scanned on success. - +.PP Applications may use the return value from the \fBscanw\fR, \fBwscanw\fR, \fBmvscanw\fR and \fBmvwscanw\fR routines to determine the number of fields which were mapped in the call. @@ -38,8 +70,25 @@ which were mapped in the call. The XSI Curses standard, Issue 4 describes these functions. The function \fBvwscanw\fR is marked TO BE WITHDRAWN, and is to be replaced by a function \fBvw_scanw\fR using the \fB\fR interface. +The Single Unix Specification, Version 2 states that +\fBvw_scanw\fR is preferred to \fBvwscanw\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. +.LP +Both XSI and The Single Unix Specification, Version 2 state that these +functions return ERR or OK. +Since the underlying \fBscanf\fR can return the number of items scanned, +and the SVr4 code was documented to use this feature, +this is probably an editing error which was introduced in XSI, +rather than being done intentionally. +Portable applications should only test if the return value is ERR, +since the OK value (zero) is likely to be misleading. +One possible way to get useful results would be to use a "%n" conversion +at the end of the format string to ensure that something was processed. .SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_getstr\fR, \fBcurs_printw\fR, \fBscanf\fR(3S) +\fBcurses\fR(3X), \fBcurs_getstr\fR(3X), \fBcurs_printw\fR(3X), \fBscanf\fR(3) .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: