/* PDCurses */12#include <curspriv.h>34/*man-start**************************************************************56printw7------89### Synopsis1011int printw(const char *fmt, ...);12int wprintw(WINDOW *win, const char *fmt, ...);13int mvprintw(int y, int x, const char *fmt, ...);14int mvwprintw(WINDOW *win, int y, int x, const char *fmt,...);15int vwprintw(WINDOW *win, const char *fmt, va_list varglist);16int vw_printw(WINDOW *win, const char *fmt, va_list varglist);1718### Description1920The printw() functions add a formatted string to the window at the21current or specified cursor position. The format strings are the same22as used in the standard C library's printf(). (printw() can be used23as a drop-in replacement for printf().)2425The duplication between vwprintw() and vw_printw() is for historic26reasons. In PDCurses, they're the same.2728### Return Value2930All functions return the number of characters printed, or ERR on31error.3233### Portability34X/Open ncurses NetBSD35printw Y Y Y36wprintw Y Y Y37mvprintw Y Y Y38mvwprintw Y Y Y39vwprintw Y Y Y40vw_printw Y Y Y4142**man-end****************************************************************/4344#include <string.h>4546int vwprintw(WINDOW *win, const char *fmt, va_list varglist)47{48char printbuf[513];49int len;5051PDC_LOG(("vwprintw() - called\n"));5253#ifdef HAVE_VSNPRINTF54len = vsnprintf(printbuf, 512, fmt, varglist);55#else56len = vsprintf(printbuf, fmt, varglist);57#endif58return (waddstr(win, printbuf) == ERR) ? ERR : len;59}6061int printw(const char *fmt, ...)62{63va_list args;64int retval;6566PDC_LOG(("printw() - called\n"));6768va_start(args, fmt);69retval = vwprintw(stdscr, fmt, args);70va_end(args);7172return retval;73}7475int wprintw(WINDOW *win, const char *fmt, ...)76{77va_list args;78int retval;7980PDC_LOG(("wprintw() - called\n"));8182va_start(args, fmt);83retval = vwprintw(win, fmt, args);84va_end(args);8586return retval;87}8889int mvprintw(int y, int x, const char *fmt, ...)90{91va_list args;92int retval;9394PDC_LOG(("mvprintw() - called\n"));9596if (move(y, x) == ERR)97return ERR;9899va_start(args, fmt);100retval = vwprintw(stdscr, fmt, args);101va_end(args);102103return retval;104}105106int mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...)107{108va_list args;109int retval;110111PDC_LOG(("mvwprintw() - called\n"));112113if (wmove(win, y, x) == ERR)114return ERR;115116va_start(args, fmt);117retval = vwprintw(win, fmt, args);118va_end(args);119120return retval;121}122123int vw_printw(WINDOW *win, const char *fmt, va_list varglist)124{125PDC_LOG(("vw_printw() - called\n"));126127return vwprintw(win, fmt, varglist);128}129130131