diff options
author | Andrey A. Chernov <ache@FreeBSD.org> | 1994-10-07 08:58:58 +0000 |
---|---|---|
committer | Andrey A. Chernov <ache@FreeBSD.org> | 1994-10-07 08:58:58 +0000 |
commit | c0e33523c8e3d21cb5380c0841957837c7394f3e (patch) | |
tree | 99abbe20269799a309141ce09de6537162005126 /lib/libncurses/lib_scanw.c | |
parent | d456d8f48d7d76f450ee5299193ba604a20d44de (diff) |
Moved from ports with several enhancements
Notes
Notes:
svn path=/cvs2svn/branches/zmbenhal/; revision=3410
Diffstat (limited to 'lib/libncurses/lib_scanw.c')
-rw-r--r-- | lib/libncurses/lib_scanw.c | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/lib/libncurses/lib_scanw.c b/lib/libncurses/lib_scanw.c new file mode 100644 index 000000000000..68aeaeae3ffd --- /dev/null +++ b/lib/libncurses/lib_scanw.c @@ -0,0 +1,72 @@ + +/* This work is copyrighted. See COPYRIGHT.OLD & COPYRIGHT.NEW for * +* details. If they are missing then this copy is in violation of * +* the copyright conditions. */ + +/* +** lib_scanw.c +** +** The routines scanw(), wscanw() and friends. +** +*/ + +#include "curses.priv.h" + +int vwscanw(WINDOW *win, char *fmt, va_list argp) +{ +char buf[BUFSIZ]; + + if (wgetstr(win, buf) == ERR) + return(ERR); + + return(vsscanf(buf, fmt, argp)); +} + +int scanw(char *fmt, ...) +{ +va_list ap; + +#ifdef TRACE + if (_tracing) + _tracef("scanw(%s,...) called", fmt); +#endif + + va_start(ap, fmt); + return(vwscanw(stdscr, fmt, ap)); +} + +int wscanw(WINDOW *win, char *fmt, ...) +{ +va_list ap; + +#ifdef TRACE + if (_tracing) + _tracef("wscanw(%x,%s,...) called", win, fmt); +#endif + + va_start(ap, fmt); + return(vwscanw(win, fmt, ap)); +} + + + +int mvscanw(int y, int x, char *fmt, ...) +{ +va_list ap; + + va_start(ap, fmt); + return(move(y, x) == OK ? vwscanw(stdscr, fmt, ap) : ERR); +} + + + +int mvwscanw(WINDOW *win, int y, int x, char *fmt, ...) +{ +va_list ap; + + va_start(ap, fmt); + return(wmove(win, y, x) == OK ? vwscanw(win, fmt, ap) : ERR); +} + + + |