X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstdio%2Fvfscanf.c;h=f5b1f3f8864743c1b88944634af6c59ccbdfdde3;hb=5125969b57fe4d64874b2633adcf007bda2a1847;hp=eda4226988d9c2b6222f624a613563331790accd;hpb=0b5f84a52cf54e88b99a44efc6f5f2c46e9b294d;p=pdclib diff --git a/functions/stdio/vfscanf.c b/functions/stdio/vfscanf.c index eda4226..f5b1f3f 100644 --- a/functions/stdio/vfscanf.c +++ b/functions/stdio/vfscanf.c @@ -25,6 +25,7 @@ int vfscanf( FILE * _PDCLIB_restrict stream, const char * _PDCLIB_restrict forma status.prec = 0; status.stream = stream; va_copy( status.arg, arg ); + // FIXME: This whole shebang should operate on STREAM, not S... while ( *format != '\0' ) { const char * rc; @@ -59,6 +60,11 @@ int vfscanf( FILE * _PDCLIB_restrict stream, const char * _PDCLIB_restrict forma } else { + /* NULL return code indicates matching error */ + if ( rc == NULL ) + { + break; + } /* Continue parsing after conversion specifier */ format = rc; }