Subversion Repositories Kolibri OS

Rev

Rev 8687 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
8687 turbocat 1
#include 
8718 turbocat 2
#include 
3
#include 
8687 turbocat 4
 
8718 turbocat 5
int virtual_getc_file(void *sp, const void *obj)
6
// get next chat from file obj, save point is ptr to string char ptr
8687 turbocat 7
{
8718 turbocat 8
    FILE *f = (FILE *)obj;
9
    int     ch = fgetc(f);
10
 
11
//printf("getc '%c'[%d];", ch, ch);
12
 
13
    return ch;
14
}
15
 
16
void virtual_ungetc_file(void *sp, int c, const void *obj)
17
// if can, one step back savepoint in s
18
{
19
    FILE *f = (FILE *)obj;
20
 
21
    if (f) ungetc(c, f);
22
}
23
 
24
 
25
int vfscanf ( FILE * stream, const char * format, va_list arg )
26
{
27
    return format_scan(stream, format, arg, &virtual_getc_file, &virtual_ungetc_file);
28
};
29
 
30
int fscanf ( FILE * stream, const char * format, ...)
31
{
32
   va_list      arg;
33
   int  n;
8687 turbocat 34
   va_start(arg, format);
8718 turbocat 35
 
8687 turbocat 36
   n = vfscanf(stream, format, arg);
8718 turbocat 37
 
8687 turbocat 38
   va_end(arg);
39
   return n;
40
}
41