| 1 | .\"*************************************************************************** | 
|---|
| 2 | .\" Copyright (c) 1998,2000 Free Software Foundation, Inc.                   * | 
|---|
| 3 | .\"                                                                          * | 
|---|
| 4 | .\" Permission is hereby granted, free of charge, to any person obtaining a  * | 
|---|
| 5 | .\" copy of this software and associated documentation files (the            * | 
|---|
| 6 | .\" "Software"), to deal in the Software without restriction, including      * | 
|---|
| 7 | .\" without limitation the rights to use, copy, modify, merge, publish,      * | 
|---|
| 8 | .\" distribute, distribute with modifications, sublicense, and/or sell       * | 
|---|
| 9 | .\" copies of the Software, and to permit persons to whom the Software is    * | 
|---|
| 10 | .\" furnished to do so, subject to the following conditions:                 * | 
|---|
| 11 | .\"                                                                          * | 
|---|
| 12 | .\" The above copyright notice and this permission notice shall be included  * | 
|---|
| 13 | .\" in all copies or substantial portions of the Software.                   * | 
|---|
| 14 | .\"                                                                          * | 
|---|
| 15 | .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  * | 
|---|
| 16 | .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               * | 
|---|
| 17 | .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   * | 
|---|
| 18 | .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   * | 
|---|
| 19 | .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    * | 
|---|
| 20 | .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    * | 
|---|
| 21 | .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               * | 
|---|
| 22 | .\"                                                                          * | 
|---|
| 23 | .\" Except as contained in this notice, the name(s) of the above copyright   * | 
|---|
| 24 | .\" holders shall not be used in advertising or otherwise to promote the     * | 
|---|
| 25 | .\" sale, use or other dealings in this Software without prior written       * | 
|---|
| 26 | .\" authorization.                                                           * | 
|---|
| 27 | .\"*************************************************************************** | 
|---|
| 28 | .\" | 
|---|
| 29 | .\" $Id: curs_scanw.3x,v 1.12 2002/07/20 15:48:09 tom Exp $ | 
|---|
| 30 | .TH curs_scanw 3X "" | 
|---|
| 31 | .SH NAME | 
|---|
| 32 | \fBscanw\fR, | 
|---|
| 33 | \fBwscanw\fR, | 
|---|
| 34 | \fBmvscanw\fR, | 
|---|
| 35 | \fBmvwscanw\fR, | 
|---|
| 36 | \fBvwscanw\fR, \fBvw_scanw\fR - convert formatted input from a \fBcurses\fR window | 
|---|
| 37 | .SH SYNOPSIS | 
|---|
| 38 | \fB#include <curses.h>\fR | 
|---|
| 39 |  | 
|---|
| 40 | \fBint scanw(char *fmt, ...);\fR | 
|---|
| 41 | .br | 
|---|
| 42 | \fBint wscanw(WINDOW *win, char *fmt, ...);\fR | 
|---|
| 43 | .br | 
|---|
| 44 | \fBint mvscanw(int y, int x, char *fmt, ...);\fR | 
|---|
| 45 | .br | 
|---|
| 46 | \fBint mvwscanw(WINDOW *win, int y, int x, char *fmt, ...);\fR | 
|---|
| 47 | .br | 
|---|
| 48 | \fBint vw_scanw(WINDOW *win, char *fmt, va_list varglist);\fR | 
|---|
| 49 | .br | 
|---|
| 50 | \fBint vwscanw(WINDOW *win, char *fmt, va_list varglist);\fR | 
|---|
| 51 | .SH DESCRIPTION | 
|---|
| 52 | The \fBscanw\fR, \fBwscanw\fR and \fBmvscanw\fR routines are analogous to | 
|---|
| 53 | \fBscanf\fR [see \fBscanf\fR(3S)].  The effect of these routines is as though | 
|---|
| 54 | \fBwgetstr\fR were called on the window, and the resulting line used as input | 
|---|
| 55 | for \fBsscanf\fR(3).  Fields which do not map to a variable in the \fIfmt\fR | 
|---|
| 56 | field are lost. | 
|---|
| 57 |  | 
|---|
| 58 | The \fBvwscanw\fR and \fBvw_scanw\fR routines are analogous to \fBvscanf\fR. | 
|---|
| 59 | They perform a \fBwscanw\fR using a variable argument list. | 
|---|
| 60 | The third argument is a \fIva_list\fR, | 
|---|
| 61 | a pointer to a list of arguments, as defined in \fB<stdarg.h>\fR. | 
|---|
| 62 | .SH RETURN VALUE | 
|---|
| 63 | \fBvwscanw\fR returns \fBERR\fR on failure and an integer equal to the | 
|---|
| 64 | number of fields scanned on success. | 
|---|
| 65 |  | 
|---|
| 66 | Applications may use the return value from the \fBscanw\fR, \fBwscanw\fR, | 
|---|
| 67 | \fBmvscanw\fR and \fBmvwscanw\fR routines to determine the number of fields | 
|---|
| 68 | which were mapped in the call. | 
|---|
| 69 | .SH PORTABILITY | 
|---|
| 70 | The XSI Curses standard, Issue 4 describes these functions.  The function | 
|---|
| 71 | \fBvwscanw\fR is marked TO BE WITHDRAWN, and is to be replaced by a function | 
|---|
| 72 | \fBvw_scanw\fR using the \fB<stdarg.h>\fR interface. | 
|---|
| 73 | The Single Unix Specification, Version 2 states that | 
|---|
| 74 | \fBvw_scanw\fR  is preferred to \fBvwscanw\fR since the latter requires | 
|---|
| 75 | including \fB<varargs.h>\fR, which | 
|---|
| 76 | cannot be used in the same file as \fB<stdarg.h>\fR. | 
|---|
| 77 | This implementation uses \fB<stdarg.h>\fR for both, because that header | 
|---|
| 78 | is included in \fB<curses.h\fR>. | 
|---|
| 79 | .LP | 
|---|
| 80 | Both XSI and The Single Unix Specification, Version 2 state that these | 
|---|
| 81 | functions return ERR or OK. | 
|---|
| 82 | Since the underlying \fBscanf\fR can return the number of items scanned, | 
|---|
| 83 | and the SVr4 code was documented to use this feature, | 
|---|
| 84 | this is probably an editing error which was introduced in XSI, | 
|---|
| 85 | rather than being done intentionally. | 
|---|
| 86 | Portable applications should only test if the return value is ERR, | 
|---|
| 87 | since the OK value (zero) is likely to be misleading. | 
|---|
| 88 | One possible way to get useful results would be to use a "%n" conversion | 
|---|
| 89 | at the end of the format string to ensure that something was processed. | 
|---|
| 90 | .SH SEE ALSO | 
|---|
| 91 | \fBcurses\fR(3X), \fBcurs_getstr\fR(3X), \fBcurs_printw\fR(3X), \fBscanf\fR(3S) | 
|---|
| 92 | .\"# | 
|---|
| 93 | .\"# The following sets edit modes for GNU EMACS | 
|---|
| 94 | .\"# Local Variables: | 
|---|
| 95 | .\"# mode:nroff | 
|---|
| 96 | .\"# fill-column:79 | 
|---|
| 97 | .\"# End: | 
|---|