X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_scanw.3x.html;h=5a4c957d4e7910d56b817ca87d8a70e1e97468c5;hp=c89b274e2c6e117fcdbc6aa92e6d5307738a8d87;hb=02c4e383be9337e73a0e75844dfd1047745adb28;hpb=6208c89f98f1cf9fe0980bd8e791846ce007a13d diff --git a/doc/html/man/curs_scanw.3x.html b/doc/html/man/curs_scanw.3x.html index c89b274e..5a4c957d 100644 --- a/doc/html/man/curs_scanw.3x.html +++ b/doc/html/man/curs_scanw.3x.html @@ -1,6 +1,6 @@ - + curs_scanw 3x @@ -40,83 +40,99 @@

curs_scanw 3x

-curs_scanw(3x)                                           curs_scanw(3x)
+curs_scanw(3x)                                                  curs_scanw(3x)
 
 
 
 
 

NAME

-       scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw - con-
-       vert formatted input from a curses window
+       scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw - convert formatted
+       input from a curses window
 
 
 

SYNOPSIS

        #include <curses.h>
 
-       int scanw(char *fmt, ...);
-       int wscanw(WINDOW *win, char *fmt, ...);
-       int mvscanw(int y, int x, char *fmt, ...);
-       int mvwscanw(WINDOW *win, int y, int x, char *fmt, ...);
-       int vw_scanw(WINDOW *win, char *fmt, va_list varglist);
-       int vwscanw(WINDOW *win, char *fmt, va_list varglist);
+       int scanw(const char *fmt, ...);
+       int wscanw(WINDOW *win, const char *fmt, ...);
+       int mvscanw(int y, int x, const char *fmt, ...);
+       int mvwscanw(WINDOW *win, int y, int x, const char *fmt, ...);
+       int vw_scanw(WINDOW *win, const char *fmt, va_list varglist);
+
+       /* obsolete */
+       int vwscanw(WINDOW *win, const char *fmt, va_list varglist);
 
 
 

DESCRIPTION

-       The scanw, wscanw and mvscanw routines  are  analogous  to
-       scanf  [see scanf(3)].  The effect of these routines is as
-       though wgetstr were called on the window, and the  result-
-       ing line used as input for sscanf(3).  Fields which do not
-       map to a variable in the fmt field are lost.
+       The scanw, wscanw and mvscanw routines  are  analogous  to  scanf  [see
+       scanf(3)].   The  effect  of  these  routines is as though wgetstr were
+       called on the  window,  and  the  resulting  line  used  as  input  for
+       sscanf(3).   Fields which do not map to a variable in the fmt field are
+       lost.
 
-       The vwscanw and vw_scanw routines are analogous to vscanf.
-       They perform a wscanw using a variable argument list.  The
-       third argument is a va_list, a pointer to a list of  argu-
-       ments, as defined in <stdarg.h>.
+       The vwscanw and vw_scanw routines are  analogous  to  vscanf(3).   They
+       perform a wscanw using a variable argument list.  The third argument is
+       a va_list, a pointer to a list of arguments, as defined in <stdarg.h>.
 
 
 

RETURN VALUE

-       vwscanw returns ERR on failure and an integer equal to the
-       number of fields scanned on success.
+       vwscanw returns ERR on failure and an integer equal to  the  number  of
+       fields scanned on success.
 
-       Applications may use the  return  value  from  the  scanw,
-       wscanw,  mvscanw  and  mvwscanw  routines to determine the
-       number of fields which were mapped in the call.
+       Applications  may  use the return value from the scanw, wscanw, mvscanw
+       and mvwscanw routines to determine the  number  of  fields  which  were
+       mapped in the call.
 
-       Functions with a "mv" prefix first perform a cursor  move-
-       ment  using  wmove, and return an error if the position is
-       outside the window, or if the window pointer 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.
 
 
 

PORTABILITY

-       The XSI Curses standard, Issue  4  describes  these  func-
-       tions.   The  function  vwscanw is marked TO BE WITHDRAWN,
-       and is to be replaced by a  function  vw_scanw  using  the
-       <stdarg.h> interface.  The Single Unix Specification, Ver-
-       sion 2 states that vw_scanw  is preferred to vwscanw 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>.
-
-       Both XSI and The  Single  Unix  Specification,  Version  2
-       state  that  these  functions return ERR or OK.  Since the
-       underlying scanf 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 applica-
-       tions should only test if the return value is  ERR,  since
-       the  OK value (zero) is likely to be misleading.  One pos-
-       sible 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.
+       In this implementation, vw_scanw and vwscanw are equivalent, to support
+       legacy applications.  However, the latter (vwscanw) is obsolete:
+
+       o   The XSI Curses standard, Issue 4 described these functions,  noting
+           that  the  function vwscanw is marked TO BE WITHDRAWN, and is to be
+           replaced by a function vw_scanw using the <stdarg.h> interface.
+
+       o   The Single Unix Specification, Version 2 states that  vw_scanw   is
+           preferred   to   vwscanw   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 vwscanw  (along  with
+           vwprintw and the termcap interface) as withdrawn.
+
+       Both  XSI and The Single Unix Specification, Version 2 state that these
+       functions return ERR or OK.
+
+       o   Since the underlying  scanf(3)  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.
+
+       o   This  implementation  returns the number of items scanned, for com-
+           patibility with SVr4  curses.   As  of  2018,  NetBSD  curses  also
+           returns  the  number  of  items  scanned.   Both ncurses and NetBSD
+           curses call vsscanf to scan the string, which returns EOF on error.
+
+       o   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" con-
+           version at the end of the format string to  ensure  that  something
+           was processed.
 
 
 

SEE ALSO

-       curses(3x), curs_getstr(3x), curs_printw(3x), scanf(3)
+       curses(3x), curs_getstr(3x), curs_printw(3x), curs_termcap(3x),
+       scanf(3).
 
 
 
-                                                         curs_scanw(3x)
+                                                                curs_scanw(3x)