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);
 | |
| }
 |