X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=functions%2Fstdio%2F_PDCLIB_scan.c;h=9940fc028e07b1b9166fc50972fd4d0032dfdf5d;hp=615d82e0f32ee659d5c9756ac90781b62f9cc660;hb=36ba0291514888662188f6a64fe34e9acad1c298;hpb=3082b97d8f2de1584430ad42671a0e056ed33be4 diff --git a/functions/stdio/_PDCLIB_scan.c b/functions/stdio/_PDCLIB_scan.c index 615d82e..9940fc0 100644 --- a/functions/stdio/_PDCLIB_scan.c +++ b/functions/stdio/_PDCLIB_scan.c @@ -1,5 +1,3 @@ -/* $Id$ */ - /* _PDCLIB_scan( const char *, struct _PDCLIB_status_t * ) This file is part of the Public Domain C Library (PDCLib). @@ -18,6 +16,8 @@ #ifndef REGTEST +#include "_PDCLIB_io.h" + /* Using an integer's bits as flags for both the conversion flags and length modifiers. */ @@ -118,7 +118,7 @@ static bool IN_SCANSET( const char * scanlist, const char * end_scanlist, int rc const char * _PDCLIB_scan( const char * spec, struct _PDCLIB_status_t * status ) { /* generic input character */ - int rc; + int rc = EOF; const char * orig_spec = spec; if ( *(++spec) == '%' ) { @@ -287,7 +287,7 @@ const char * _PDCLIB_scan( const char * spec, struct _PDCLIB_status_t * status ) case 's': { char * c = va_arg( status->arg, char * ); - while ( ( status->current < status->width ) && + while ( ( status->current < status->width ) && ( ( rc = GET( status ) ) != EOF ) ) { if ( isspace( rc ) ) @@ -347,7 +347,7 @@ const char * _PDCLIB_scan( const char * spec, struct _PDCLIB_status_t * status ) } while ( *endspec != ']' ); // read according to scanlist, equiv. to %s above char * c = va_arg( status->arg, char * ); - while ( ( status->current < status->width ) && + while ( ( status->current < status->width ) && ( ( rc = GET( status ) ) != EOF ) ) { if ( negative_scanlist )