home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Mint / mntlib32.zoo / fscanf.c < prev    next >
C/C++ Source or Header  |  1993-01-21  |  1KB  |  73 lines

  1. /* from Dale Schumacher's dLibs */
  2.  
  3. #include <stdio.h>
  4. #include <stdarg.h>
  5. #include "lib.h"
  6.  
  7. typedef int (*gettype) __PROTO((void *));
  8. typedef int (*ungettype) __PROTO((int, void *));
  9.  
  10. #if __STDC__
  11. int fscanf(FILE *fp, const char *fmt, ...)
  12. {
  13.     int retval;
  14.     va_list arg;
  15.     
  16.     va_start (arg, fmt);
  17.     retval = _scanf(fp, (gettype) fgetc, (ungettype) fungetc,
  18.      (unsigned char *) fmt, arg);
  19.     va_end (arg);
  20.     return retval;
  21. }
  22. #else
  23. int
  24. fscanf(fp, fmt, arg)
  25.     FILE *fp;
  26.     const char *fmt;
  27.     char *arg;
  28.     {
  29.     return(_scanf(fp, fgetc, fungetc, fmt, &arg));
  30.     }
  31. #endif /* __STDC__ */
  32.  
  33. #if __STDC__
  34. int scanf(const char *fmt, ...)
  35. {
  36.     int retval;
  37.     va_list arg;
  38.     
  39.     va_start (arg, fmt);
  40.     retval = _scanf(stdin, (gettype) fgetc, (ungettype) fungetc,
  41.      (unsigned char *) fmt, arg);
  42.     va_end (arg);
  43.     return retval;
  44. }
  45. #else
  46. int
  47. scanf(fmt, arg)
  48.     const char *fmt;
  49.     char *arg;
  50.     {
  51.     return(_scanf(stdin, fgetc, fungetc, fmt, &arg));
  52.     }
  53. #endif /* __STDC__ */
  54.  
  55. int
  56. vscanf(fmt, arg)
  57.     const char *fmt;
  58.     va_list arg;
  59.     {
  60.     return(_scanf(stdin, (gettype)fgetc, (ungettype) fungetc,
  61.      (unsigned char *) fmt, arg));
  62.     }
  63.  
  64. int
  65. vfscanf(fp, fmt, arg)
  66.     FILE *fp;
  67.     const char *fmt;
  68.     va_list arg;
  69.     {
  70.     return(_scanf(fp, (gettype)fgetc, (ungettype)fungetc, 
  71.      (unsigned char *) fmt, arg));
  72.     }
  73.