PatchworkOS  19e446b
A non-POSIX operating system.
Loading...
Searching...
No Matches
vfscanf.c
Go to the documentation of this file.
1#include <ctype.h>
2#include <stdarg.h>
3#include <stdio.h>
4
5#include "user/common/file.h"
6
7#define _SCAN_GET(ctx) \
8 ({ \
9 FILE* file = (FILE*)(ctx)->data; \
10 fgetc(file); \
11 })
12
13#define _SCAN_UNGET(ctx, c) \
14 ({ \
15 FILE* file = (FILE*)(ctx)->data; \
16 if ((c) != EOF) \
17 { \
18 ungetc(c, file); \
19 } \
20 })
21
22#include "common/scan.h"
23
24int vfscanf(FILE* _RESTRICT stream, const char* _RESTRICT format, va_list arg)
25{
26 return _scan(format, arg, (void*)stream);
27}
#define _RESTRICT
Definition config.h:17
static char format[MAX_NAME]
Definition screen.c:17
static int _scan(const char *_RESTRICT format, va_list arg, void *data)
Definition scan.h:666
__builtin_va_list va_list
Definition stdarg.h:11
Definition file.h:34
int vfscanf(FILE *_RESTRICT stream, const char *_RESTRICT format, va_list arg)
Definition vfscanf.c:24