xref: /original-bsd/lib/libcurses/printw.c (revision 7e7b101a)
1 /*
2  * printw and friends
3  *
4  * 01/26/81 (Berkeley) @(#)printw.c	1.1
5  */
6 
7 # include	"curses.ext"
8 
9 /*
10  *	This routine implements a printf on the standard screen.
11  */
12 printw(fmt, args)
13 char	*fmt;
14 int	args; {
15 
16 	return _sprintw(stdscr, fmt, &args);
17 }
18 
19 /*
20  *	This routine implements a printf on the given window.
21  */
22 wprintw(win, fmt, args)
23 WINDOW	*win;
24 char	*fmt;
25 int	args; {
26 
27 	return _sprintw(win, fmt, &args);
28 }
29 /*
30  *	This routine actually executes the printf and adds it to the window
31  *
32  *	This is really a modified version of "sprintf".  As such,
33  * it assumes that sprintf interfaces with the other printf functions
34  * in a certain way.  If this is not how your system works, you
35  * will have to modify this routine to use the interface that your
36  * "sprintf" uses.
37  */
38 _sprintw(win, fmt, args)
39 WINDOW	*win;
40 char	*fmt;
41 int	*args; {
42 
43 	FILE	junk;
44 	char	buf[512];
45 
46 	junk._flag = _IOWRT + _IOSTRG;
47 	junk._ptr = buf;
48 	junk._cnt = 32767;
49 	_doprnt(fmt, args, &junk);
50 	putc('\0', &junk);
51 	return waddstr(win, buf);
52 }
53