xref: /original-bsd/lib/libcurses/mvscanw.c (revision 1897046e)
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