ReactOS 0.4.16-dev-2104-gb84fa49
scanf.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define _CHAR_   char
 
#define _EOF_   EOF
 
#define _EOF_RET   EOF
 
#define _ISSPACE_(c)   isspace(c)
 
#define _WIDE2SUPPORTED_(c)   c /* FIXME: convert wide char to char */
 
#define _CHAR2SUPPORTED_(c)   c /* No conversion needed (char to char) */
 
#define _CHAR2DIGIT_(c, base)   char2digit((c), (base))
 
#define _BITMAPSIZE_   256
 
#define _GETC_FUNC_(file)   fgetc(file)
 
#define _STRTOD_NAME_(func)   file_ ## func
 
#define _GETC_(file)   (consumed++, fgetc(file))
 
#define _UNGETC_(nch, file)   do { ungetc(nch, file); consumed--; } while(0)
 
#define _LOCK_FILE_(file)   _lock_file(file)
 
#define _UNLOCK_FILE_(file)   _unlock_file(file)
 
#define _FUNCTION_   static int vfscanf_l(FILE* file, const char *format, _locale_t locale, va_list ap)
 
#define _SET_NUMBER_(type)   *va_arg(ap, type*) = negative ? -cur : cur
 

Functions

struct _STRTOD_NAME_ (strtod_scanf_ctx)
 
static wchar_t _STRTOD_NAME_() strtod_scanf_get (void *ctx)
 
static void _STRTOD_NAME_() strtod_scanf_unget (void *ctx)
 
 if (! *format) return 0
 
 TRACE ("%p (%s)\n", file, debugstr_a(format))
 
 if (nch==_EOF_)
 
 if (!locale) locinfo
 
 if (nch!=_EOF_)
 
 TRACE ("returning %d\n", rd)
 

Variables

 _FUNCTION_
 
int rd = 0
 
int consumed = 0
 
int nch = _GETC_(file)
 
else locinfo = locale->locinfo
 
while format
 

Macro Definition Documentation

◆ _BITMAPSIZE_

#define _BITMAPSIZE_   256

Definition at line 43 of file scanf.h.

◆ _CHAR2DIGIT_

#define _CHAR2DIGIT_ (   c,
  base 
)    char2digit((c), (base))

Definition at line 42 of file scanf.h.

◆ _CHAR2SUPPORTED_

#define _CHAR2SUPPORTED_ (   c)    c /* No conversion needed (char to char) */

Definition at line 41 of file scanf.h.

◆ _CHAR_

#define _CHAR_   char

Definition at line 36 of file scanf.h.

◆ _EOF_

#define _EOF_   EOF

Definition at line 37 of file scanf.h.

◆ _EOF_RET

#define _EOF_RET   EOF

Definition at line 38 of file scanf.h.

◆ _FUNCTION_

#define _FUNCTION_   static int vfscanf_l(FILE* file, const char *format, _locale_t locale, va_list ap)

Definition at line 144 of file scanf.h.

◆ _GETC_

#define _GETC_ (   file)    (consumed++, fgetc(file))

Definition at line 137 of file scanf.h.

◆ _GETC_FUNC_

#define _GETC_FUNC_ (   file)    fgetc(file)

Definition at line 135 of file scanf.h.

◆ _ISSPACE_

#define _ISSPACE_ (   c)    isspace(c)

Definition at line 39 of file scanf.h.

◆ _LOCK_FILE_

_LOCK_FILE_ (   file)    _lock_file(file)

Definition at line 139 of file scanf.h.

◆ _SET_NUMBER_

#define _SET_NUMBER_ (   type)    *va_arg(ap, type*) = negative ? -cur : cur

◆ _STRTOD_NAME_

#define _STRTOD_NAME_ (   func)    file_ ## func

Definition at line 136 of file scanf.h.

◆ _UNGETC_

#define _UNGETC_ (   nch,
  file 
)    do { ungetc(nch, file); consumed--; } while(0)

Definition at line 138 of file scanf.h.

◆ _UNLOCK_FILE_

_UNLOCK_FILE_ (   file)    _unlock_file(file)

Definition at line 140 of file scanf.h.

Referenced by if().

◆ _WIDE2SUPPORTED_

#define _WIDE2SUPPORTED_ (   c)    c /* FIXME: convert wide char to char */

Definition at line 40 of file scanf.h.

Function Documentation

◆ _STRTOD_NAME_()

struct _STRTOD_NAME_ ( strtod_scanf_ctx  )

Definition at line 1 of file scanf.h.

151 {
153#ifdef STRING
154 const _CHAR_ *file;
155#else
156 FILE *file;
157#endif
158 int length;
159 int read;
160 int cur;
161 int unget;
162 BOOL err;
163};
#define read
Definition: acwin.h:96
#define _CHAR_
Definition: scanf.h:36
else locinfo
Definition: scanf.h:225
unsigned int BOOL
Definition: ntddk_ex.h:94
FxCollectionEntry * cur
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
#define err(...)
Definition: fci.c:127

◆ if() [1/4]

if ( ! *  format)

◆ if() [2/4]

if ( locale)

Definition at line 4268 of file btrfs.c.

4268 {
4269 ERR("out of memory\n");
4271 }
#define ERR(fmt,...)
Definition: precomp.h:57
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158

◆ if() [3/4]

if ( nch!  = _EOF_)

Definition at line 720 of file scanf.h.

720 {
721 _UNGETC_(nch, file);
722 }
int nch
Definition: scanf.h:201
#define _UNGETC_(nch, file)
Definition: scanf.h:138

◆ if() [4/4]

if ( nch  = _EOF_)

Definition at line 217 of file scanf.h.

217 {
219 return _EOF_RET;
220 }
#define _EOF_RET
Definition: scanf.h:38
#define _UNLOCK_FILE_(file)
Definition: scanf.h:140

◆ strtod_scanf_get()

static wchar_t _STRTOD_NAME_() strtod_scanf_get ( void ctx)
static

Definition at line 165 of file scanf.h.

166{
167 struct _STRTOD_NAME_(strtod_scanf_ctx) *context = ctx;
168
169 context->cur = _EOF_;
170 if (!context->length) return WEOF;
171 if (context->unget != _EOF_) {
172 context->cur = context->unget;
173 context->unget = _EOF_;
174 } else {
175 context->cur = _GETC_FUNC_(context->file);
176 if (context->cur == _EOF_) return WEOF;
177 }
178
179 if (context->length > 0) context->length--;
180 context->read++;
181 return context->cur;
182}
#define WEOF
#define _GETC_FUNC_(file)
Definition: scanf.h:135
#define _EOF_
Definition: scanf.h:37
Definition: http.c:7252

◆ strtod_scanf_unget()

static void _STRTOD_NAME_() strtod_scanf_unget ( void ctx)
static

Definition at line 184 of file scanf.h.

185{
186 struct _STRTOD_NAME_(strtod_scanf_ctx) *context = ctx;
187
188 if (context->length >= 0) context->length++;
189 context->read--;
190 if (context->unget != _EOF_ || context->cur == _EOF_) {
191 context->err = TRUE;
192 return;
193 }
194 context->unget = context->cur;
195}
#define TRUE
Definition: types.h:120

◆ TRACE() [1/2]

TRACE ( "%p (%s)\n"  ,
file  ,
debugstr_a(format  
)

◆ TRACE() [2/2]

TRACE ( "returning %d\n"  ,
rd   
)

Variable Documentation

◆ _FUNCTION_

_FUNCTION_
Initial value:

Definition at line 198 of file scanf.h.

◆ consumed

◆ format

Definition at line 227 of file scanf.h.

◆ locinfo

◆ nch

nch = _GETC_(file)

Definition at line 201 of file scanf.h.

Referenced by fpnum_parse_bnum(), if(), res_hnok(), test_recordWAVE(), and test_volume_dependence().

◆ rd