Change-Id: If881ec130833c7e7e62caa3d31e350a531f5bc8e Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: http://review.coreboot.org/12398 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
		
			
				
	
	
		
			124 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Public Domain Curses */
 | 
						|
 | 
						|
#include <curspriv.h>
 | 
						|
 | 
						|
RCSID("$Id: printw.c,v 1.40 2008/07/13 16:08:18 wmcbrine Exp $")
 | 
						|
 | 
						|
/*man-start**************************************************************
 | 
						|
 | 
						|
  Name:                                                         printw
 | 
						|
 | 
						|
  Synopsis:
 | 
						|
        int printw(const char *fmt, ...);
 | 
						|
        int wprintw(WINDOW *win, const char *fmt, ...);
 | 
						|
        int mvprintw(int y, int x, const char *fmt, ...);
 | 
						|
        int mvwprintw(WINDOW *win, int y, int x, const char *fmt,...);
 | 
						|
        int vwprintw(WINDOW *win, const char *fmt, va_list varglist);
 | 
						|
        int vw_printw(WINDOW *win, const char *fmt, va_list varglist);
 | 
						|
 | 
						|
  Description:
 | 
						|
        The printw() functions add a formatted string to the window at
 | 
						|
        the current or specified cursor position. The format strings are
 | 
						|
        the same as used in the standard C library's printf(). (printw()
 | 
						|
        can be used as a drop-in replacement for printf().)
 | 
						|
 | 
						|
  Return Value:
 | 
						|
        All functions return the number of characters printed, or
 | 
						|
        ERR on error.
 | 
						|
 | 
						|
  Portability                                X/Open    BSD    SYS V
 | 
						|
        printw                                  Y       Y       Y
 | 
						|
        wprintw                                 Y       Y       Y
 | 
						|
        mvprintw                                Y       Y       Y
 | 
						|
        mvwprintw                               Y       Y       Y
 | 
						|
        vwprintw                                Y       -      4.0
 | 
						|
        vw_printw                               Y
 | 
						|
 | 
						|
**man-end****************************************************************/
 | 
						|
 | 
						|
#include <string.h>
 | 
						|
 | 
						|
int vwprintw(WINDOW *win, const char *fmt, va_list varglist)
 | 
						|
{
 | 
						|
    char printbuf[513];
 | 
						|
    int len;
 | 
						|
 | 
						|
    PDC_LOG(("vwprintw() - called\n"));
 | 
						|
 | 
						|
#ifdef HAVE_VSNPRINTF
 | 
						|
    len = vsnprintf(printbuf, 512, fmt, varglist);
 | 
						|
#else
 | 
						|
    len = vsprintf(printbuf, fmt, varglist);
 | 
						|
#endif
 | 
						|
    return (waddstr(win, printbuf) == ERR) ? ERR : len;
 | 
						|
}
 | 
						|
 | 
						|
int printw(const char *fmt, ...)
 | 
						|
{
 | 
						|
    va_list args;
 | 
						|
    int retval;
 | 
						|
 | 
						|
    PDC_LOG(("printw() - called\n"));
 | 
						|
 | 
						|
    va_start(args, fmt);
 | 
						|
    retval = vwprintw(stdscr, fmt, args);
 | 
						|
    va_end(args);
 | 
						|
 | 
						|
    return retval;
 | 
						|
}
 | 
						|
 | 
						|
int wprintw(WINDOW *win, const char *fmt, ...)
 | 
						|
{
 | 
						|
    va_list args;
 | 
						|
    int retval;
 | 
						|
 | 
						|
    PDC_LOG(("wprintw() - called\n"));
 | 
						|
 | 
						|
    va_start(args, fmt);
 | 
						|
    retval = vwprintw(win, fmt, args);
 | 
						|
    va_end(args);
 | 
						|
 | 
						|
    return retval;
 | 
						|
}
 | 
						|
 | 
						|
int mvprintw(int y, int x, const char *fmt, ...)
 | 
						|
{
 | 
						|
    va_list args;
 | 
						|
    int retval;
 | 
						|
 | 
						|
    PDC_LOG(("mvprintw() - called\n"));
 | 
						|
 | 
						|
    if (move(y, x) == ERR)
 | 
						|
        return ERR;
 | 
						|
 | 
						|
    va_start(args, fmt);
 | 
						|
    retval = vwprintw(stdscr, fmt, args);
 | 
						|
    va_end(args);
 | 
						|
 | 
						|
    return retval;
 | 
						|
}
 | 
						|
 | 
						|
int mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...)
 | 
						|
{
 | 
						|
    va_list args;
 | 
						|
    int retval;
 | 
						|
 | 
						|
    PDC_LOG(("mvwprintw() - called\n"));
 | 
						|
 | 
						|
    if (wmove(win, y, x) == ERR)
 | 
						|
        return ERR;
 | 
						|
 | 
						|
    va_start(args, fmt);
 | 
						|
    retval = vwprintw(win, fmt, args);
 | 
						|
    va_end(args);
 | 
						|
 | 
						|
    return retval;
 | 
						|
}
 | 
						|
 | 
						|
int vw_printw(WINDOW *win, const char *fmt, va_list varglist)
 | 
						|
{
 | 
						|
    PDC_LOG(("vw_printw() - called\n"));
 | 
						|
 | 
						|
    return vwprintw(win, fmt, varglist);
 | 
						|
}
 |