]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/curs_scanw.3x.html
ncurses 6.2 - patch 20200425
[ncurses.git] / doc / html / man / curs_scanw.3x.html
index 48d0d2dcbfcddab96f29310cd7deee28d576c30c..8bbd242fa1f061b80a84412bd22dd6e8a21b7e3e 100644 (file)
@@ -1,6 +1,7 @@
 <!-- 
   ****************************************************************************
-  * 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 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_scanw.3x,v 1.25 2019/11/30 21:06:30 tom Exp @
+  * @Id: curs_scanw.3x,v 1.27 2020/03/15 00:14:30 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
        the window pointer is null.
 
 
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       While  <STRONG>scanw</STRONG>  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 &lt;varargs.h&gt;, though that was avail-
+       able.  In 1991 (a couple of years after SVr4 was  generally  available,
+       and  after  the C standard was published), other developers updated the
+       library, using &lt;stdarg.h&gt; internally in 4.4BSD curses.  Even with  this
+       improvement,  BSD  curses  did  not  use  function  prototypes (or even
+       declare functions) in the &lt;curses.h&gt; header until 1992.
+
+       SVr2 documented <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> tersely as  "scanf  through  <EM>stdscr</EM>"  and
+       tersely as "scanf through <EM>win</EM>", respectively.
+
+       SVr3 added <STRONG>mvscanw</STRONG>, and <STRONG>mvwscanw</STRONG>, with a three-line summary saying that
+       they were analogous to <STRONG>scanf(3)</STRONG>, explaining that the string which would
+       be  output  from  <STRONG>scanf(3)</STRONG> would instead be output using <STRONG>waddstr</STRONG> on the
+       given window.  SVr3 also added <STRONG>vwscanw</STRONG>, saying that the third parameter
+       is  a  <STRONG>va_list</STRONG>, defined in &lt;varargs.h&gt;, and referring the reader to the
+       manual  pages  for  <EM>varargs</EM>  and  <EM>vprintf</EM>  for  detailed  descriptions.
+       (Because the SVr3 documentation does not mention <EM>vscanf</EM>, that reference
+       to <EM>vprintf</EM> may not be an error).
+
+       SVr4  added  no  new  variations  of  <STRONG>scanw</STRONG>,  but  provided  for  using
+       &lt;varargs.h&gt; or &lt;stdarg.h&gt; to define the <STRONG>va_list</STRONG> type.
+
+       X/Open  Curses  added  <STRONG>vw_scanw</STRONG>  to  replace  <STRONG>vwscanw</STRONG>, stating that its
+       <STRONG>va_list</STRONG> definition requires &lt;stdarg.h&gt;.
+
+
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
        In this implementation, <STRONG>vw_scanw</STRONG> and <STRONG>vwscanw</STRONG> are equivalent, to support
        legacy applications.  However, the latter (<STRONG>vwscanw</STRONG>) is obsolete:
 
-       <STRONG>o</STRONG>   The XSI Curses standard, Issue 4 described these functions,  noting
-           that  the  function <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN, and is to be
+       <STRONG>o</STRONG>   The  XSI Curses standard, Issue 4 described these functions, noting
+           that the function <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN, and is  to  be
            replaced by a function <STRONG>vw_scanw</STRONG> using the <STRONG>&lt;stdarg.h&gt;</STRONG> interface.
 
-       <STRONG>o</STRONG>   The Single Unix Specification, Version 2 states that  <STRONG>vw_scanw</STRONG>   is
-           preferred   to   <STRONG>vwscanw</STRONG>   since   the  latter  requires  including
-           <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file  as  <STRONG>&lt;stdarg.h&gt;</STRONG>.
-           This  implementation  uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
+       <STRONG>o</STRONG>   The  Single  Unix Specification, Version 2 states that <STRONG>vw_scanw</STRONG>  is
+           preferred  to  <STRONG>vwscanw</STRONG>  since   the   latter   requires   including
+           <STRONG>&lt;varargs.h&gt;</STRONG>,  which  cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
+           This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because  that  header
            is included in <STRONG>&lt;curses.h</STRONG>&gt;.
 
-       <STRONG>o</STRONG>   X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwscanw</STRONG>  (along  with
+       <STRONG>o</STRONG>   X/Open  Curses,  Issue 5 (December 2007) marked <STRONG>vwscanw</STRONG> (along with
            <STRONG>vwprintw</STRONG> and the termcap interface) as withdrawn.
 
-       Both  XSI and The Single Unix Specification, Version 2 state that these
+       Both XSI and The Single Unix Specification, Version 2 state that  these
        functions return <STRONG>ERR</STRONG> or <STRONG>OK</STRONG>.
 
-       <STRONG>o</STRONG>   Since the underlying  <STRONG>scanf(3)</STRONG>  can  return  the  number  of  items
+       <STRONG>o</STRONG>   Since  the  underlying  <STRONG>scanf(3)</STRONG>  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
+           is  probably  an  editing error which was introduced in XSI, rather
            than being done intentionally.
 
-       <STRONG>o</STRONG>   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
+       <STRONG>o</STRONG>   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 <STRONG>vsscanf</STRONG> to scan the string, which returns <STRONG>EOF</STRONG> on error.
 
-       <STRONG>o</STRONG>   Portable applications should only test if the return value is  <STRONG>ERR</STRONG>,
+       <STRONG>o</STRONG>   Portable  applications should only test if the return value is <STRONG>ERR</STRONG>,
            since the <STRONG>OK</STRONG> 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
+           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.
 
 
 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>