00001 #include <string.h>
00002 #include <curses.h>
00003 #include "curspriv.h"
00004
00005 static char printscanbuf[513];
00006
00007
00008
00009
00010 int wprintw(WINDOW *win, const char *fmt, ...)
00011 {
00012 va_list args;
00013
00014 va_start(args, fmt);
00015 vsprintf(printscanbuf, fmt, args);
00016 if (waddstr(win, printscanbuf) == ERR) return(ERR);
00017 return(strlen(printscanbuf));
00018 }
00019
00020
00021
00022
00023 int printw(const char *fmt, ...)
00024 {
00025 va_list args;
00026
00027 va_start(args, fmt);
00028 vsprintf(printscanbuf, fmt, args);
00029 if (waddstr(stdscr, printscanbuf) == ERR) return(ERR);
00030 return(strlen(printscanbuf));
00031 }
00032
00033
00034
00035
00036
00037 int mvprintw(int y, int x, const char *fmt, ...)
00038 {
00039 va_list args;
00040
00041 va_start(args, fmt);
00042 if (wmove(stdscr, y, x) == ERR) return(ERR);
00043 vsprintf(printscanbuf, fmt, args);
00044 if (waddstr(stdscr, printscanbuf) == ERR) return(ERR);
00045 return(strlen(printscanbuf));
00046 }
00047
00048
00049
00050
00051
00052 int mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...)
00053 {
00054 va_list args;
00055
00056 va_start(args, fmt);
00057 if (wmove(win, y, x) == ERR) return(ERR);
00058 vsprintf(printscanbuf, fmt, args);
00059 if (waddstr(win, printscanbuf) == ERR) return(ERR);
00060 return(strlen(printscanbuf));
00061 }
00062
00063
00064
00065
00066
00067
00068 int wscanw(WINDOW *win, const char *fmt, ...)
00069 {
00070 va_list args;
00071
00072 va_start(args, fmt);
00073 wrefresh(win);
00074 if (wgetstr(win, printscanbuf) == ERR)
00075 return(ERR);
00076 return(vsscanf(printscanbuf, fmt, args));
00077 }
00078
00079
00080
00081
00082
00083
00084 int scanw(const char *fmt, ...)
00085 {
00086 va_list args;
00087
00088 va_start(args, fmt);
00089 wrefresh(stdscr);
00090 if (wgetstr(stdscr, printscanbuf) == ERR)
00091 return(ERR);
00092 return(vsscanf(printscanbuf, fmt, args));
00093 }
00094
00095
00096
00097
00098
00099
00100
00101 int mvscanw(int y, int x, const char *fmt, ...)
00102 {
00103 va_list args;
00104
00105 va_start(args, fmt);
00106 if (wmove(stdscr, y, x) == ERR) return(ERR);
00107 wrefresh(stdscr);
00108 if (wgetstr(stdscr, printscanbuf) == ERR)
00109 return(ERR);
00110 return(vsscanf(printscanbuf, fmt, args));
00111 }
00112
00113
00114
00115
00116
00117
00118
00119 int mvwscanw(WINDOW *win, int y, int x, const char *fmt, ...)
00120 {
00121 va_list args;
00122
00123 va_start(args, fmt);
00124 if (wmove(win, y, x) == ERR) return(ERR);
00125 wrefresh(win);
00126 if (wgetstr(win, printscanbuf) == ERR)
00127 return(ERR);
00128 return(vsscanf(printscanbuf, fmt, args));
00129 }