1 /* 2 * Copyright (c) 1981 Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 */ 7 8 #ifndef lint 9 static char sccsid[] = "@(#)mvscanw.c 5.6 (Berkeley) 08/23/92"; 10 #endif /* not lint */ 11 12 #include <curses.h> 13 14 #if __STDC__ 15 #include <stdarg.h> 16 #else 17 #include <varargs.h> 18 #endif 19 20 /* 21 * mvscanw, mvwscanw -- 22 * Implement the mvscanw commands. Due to the variable number of 23 * arguments, they cannot be macros. Another sigh.... 24 */ 25 #if __STDC__ 26 mvscanw(register int y, register int x, const char *fmt,...) 27 #else 28 mvscanw(y, x, fmt, va_alist) 29 register int y, x; 30 char *fmt; 31 va_dcl 32 #endif 33 { 34 va_list ap; 35 int ret; 36 37 if (move(y, x) != OK) 38 return (ERR); 39 #if __STDC__ 40 va_start(ap, fmt); 41 #else 42 va_start(ap); 43 #endif 44 ret = __sscans(stdscr, fmt, ap); 45 va_end(ap); 46 return (ret); 47 } 48 49 #if __STDC__ 50 mvwscanw(register WINDOW * win, register int y, register int x, 51 const char *fmt, ...) 52 #else 53 mvwscanw(win, y, x, fmt, va_alist) 54 register WINDOW *win; 55 register int y, x; 56 char *fmt; 57 va_dcl 58 #endif 59 { 60 va_list ap; 61 int ret; 62 63 if (move(y, x) != OK) 64 return (ERR); 65 #if __STDC__ 66 va_start(ap, fmt); 67 #else 68 va_start(ap); 69 #endif 70 ret = _sscans(win, fmt, ap); 71 va_end(ap); 72 return (ret); 73 } 74