Subversion Repositories Kolibri OS

Rev

Rev 4921 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /*
  2.  * Copyright (c) 1990 The Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms are permitted
  6.  * provided that the above copyright notice and this paragraph are
  7.  * duplicated in all such forms and that any documentation,
  8.  * advertising materials, and other materials related to such
  9.  * distribution and use acknowledge that the software was developed
  10.  * by the University of California, Berkeley.  The name of the
  11.  * University may not be used to endorse or promote products derived
  12.  * from this software without specific prior written permission.
  13.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  14.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  15.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  16.  */
  17.  
  18. #include <_ansi.h>
  19. #include <reent.h>
  20. #include <stdio.h>
  21. #ifdef _HAVE_STDC
  22. #include <stdarg.h>
  23. #else
  24. #include <varargs.h>
  25. #endif
  26. #include "local.h"
  27.  
  28. #ifndef _REENT_ONLY
  29.  
  30. int
  31. #ifdef _HAVE_STDC
  32. fscanf(FILE *__restrict fp, _CONST char *__restrict fmt, ...)
  33. #else
  34. fscanf(FILE *fp, fmt, va_alist)
  35.        FILE *fp;
  36.        char *fmt;
  37.        va_dcl
  38. #endif
  39. {
  40.   int ret;
  41.   va_list ap;
  42.  
  43. #ifdef _HAVE_STDC
  44.   va_start (ap, fmt);
  45. #else
  46.   va_start (ap);
  47. #endif
  48.   ret = _vfscanf_r (_REENT, fp, fmt, ap);
  49.   va_end (ap);
  50.   return ret;
  51. }
  52.  
  53. #ifdef _NANO_FORMATTED_IO
  54. int
  55. _EXFUN(fiscanf, (FILE *, const char *, ...)
  56.        _ATTRIBUTE ((__alias__("fscanf"))));
  57. #endif
  58.  
  59. #endif /* !_REENT_ONLY */
  60.  
  61. int
  62. #ifdef _HAVE_STDC
  63. _fscanf_r(struct _reent *ptr, FILE *__restrict fp, _CONST char *__restrict fmt, ...)
  64. #else
  65. _fscanf_r(ptr, FILE *fp, fmt, va_alist)
  66.           struct _reent *ptr;
  67.           FILE *fp;
  68.           char *fmt;
  69.           va_dcl
  70. #endif
  71. {
  72.   int ret;
  73.   va_list ap;
  74.  
  75. #ifdef _HAVE_STDC
  76.   va_start (ap, fmt);
  77. #else
  78.   va_start (ap);
  79. #endif
  80.   ret = _vfscanf_r (ptr, fp, fmt, ap);
  81.   va_end (ap);
  82.   return (ret);
  83. }
  84.  
  85. #ifdef _NANO_FORMATTED_IO
  86. int
  87. _EXFUN(_fiscanf_r, (struct _reent *, FILE *, const char *, ...)
  88.        _ATTRIBUTE ((__alias__("_fscanf_r"))));
  89. #endif
  90.