/* from Dale Schumacher's dLibs */ #include #include #include "lib.h" typedef int (*gettype)(void *); typedef int (*ungettype)(int, void *); #if __STDC__ int fscanf(FILE *fp, const char *fmt, ...) { int retval; va_list arg; va_start (arg, fmt); retval = _scanf(fp, (gettype) fgetc, (ungettype) fungetc, (unsigned char *) fmt, arg); va_end (arg); return retval; } #else int fscanf(fp, fmt, arg) FILE *fp; const char *fmt; char *arg; { return(_scanf(fp, fgetc, fungetc, fmt, &arg)); } #endif /* __STDC__ */ #if __STDC__ int scanf(const char *fmt, ...) { int retval; va_list arg; va_start (arg, fmt); retval = _scanf(stdin, (gettype) fgetc, (ungettype) fungetc, (unsigned char *) fmt, arg); va_end (arg); return retval; } #else int scanf(fmt, arg) const char *fmt; char *arg; { return(_scanf(stdin, fgetc, fungetc, fmt, &arg)); } #endif /* __STDC__ */ int vscanf(fmt, arg) const char *fmt; va_list arg; { return(_scanf(stdin, (gettype)fgetc, (ungettype) fungetc, (unsigned char *) fmt, arg)); } int vfscanf(fp, fmt, arg) FILE *fp; const char *fmt; va_list arg; { return(_scanf(fp, (gettype)fgetc, (ungettype)fungetc, (unsigned char *) fmt, arg)); }