=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/stdio.c,v retrieving revision 1.2 retrieving revision 1.6 diff -u -p -r1.2 -r1.6 --- OpenXM_contrib2/asir2000/parse/stdio.c 2000/08/21 08:31:47 1.2 +++ OpenXM_contrib2/asir2000/parse/stdio.c 2001/10/09 01:36:25 1.6 @@ -23,7 +23,7 @@ * shall be made on your publication or presentation in any form of the * results obtained by use of the SOFTWARE. * (4) In the event that you modify the SOFTWARE, you shall notify FLL by - * e-mail at risa-admin@flab.fujitsu.co.jp of the detailed specification + * e-mail at risa-admin@sec.flab.fujitsu.co.jp of the detailed specification * for such modification or the source code of the modified part of the * SOFTWARE. * @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/parse/stdio.c,v 1.1.1.1 1999/12/03 07:39:12 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/stdio.c,v 1.5 2001/10/05 10:23:07 noro Exp $ */ #include #include @@ -64,6 +64,12 @@ static int noflush; #define INBUF_EMPTY (W_BUF.inpos >= W_BUF.inlen) +void w_purge_stdin(void) +{ + W_BUF.inpos = 0; + W_BUF.inlen = 0; +} + int w_filbuf(void) { int status = get_line(W_BUF.inbuf); @@ -135,16 +141,18 @@ int unget_char(int c) return c; } -int put_char(int c,FILE *file) +int win_put_string(char *s,FILE *file); + +int win_put_char(int c,FILE *file) { static char s[2]; s[0] = (char)c; - put_string(s,file); + win_put_string(s,file); return c; } -int put_string(char *s,FILE *file) +int win_put_string(char *s,FILE *file) { char c; @@ -186,17 +194,15 @@ int w_ungetc(int c, FILE *file) int w_fputc(int c, FILE *file) { if ( file == stdout || file == stderr ) - return put_char(c,file); + return win_put_char(c,file); else return fputc(c,file); } int w_fputs(char *s, FILE *file) { - int status; - if ( file == stdout || file == stderr ) - return put_string(s,file); + return win_put_string(s,file); else return fputs(s,file); } @@ -209,7 +215,7 @@ int w_printf(char *format, ...) va_start(ap,format); status = vsprintf(buf,format,ap); - put_string(buf,stdout); + win_put_string(buf,stdout); return status; } @@ -222,7 +228,7 @@ int w_fprintf(FILE *file, char *format, ...) va_start(ap,format); if ( file == stdout || file == stderr ) { status = vsprintf(buf,format,ap); - put_string(buf,file); + win_put_string(buf,file); } else { status = vfprintf(file,format,ap); }