*(c++) = rc;
value_parsed = true;
}
- return value_parsed ? spec : NULL;
+ if ( value_parsed )
+ {
+ ++status->n;
+ return ++spec;
+ }
+ else
+ {
+ return NULL;
+ }
}
case 's':
{
if ( value_parsed )
{
*c = '\0';
- return spec;
+ ++status->n;
+ return ++spec;
}
else
{
/* ASSIGN( E_size | E_unsigned, unsigned size_t ); */
ASSIGN( E_ptrdiff, ptrdiff_t );
/* ASSIGN( E_ptrdiff | E_unsigned, unsigned ptrdiff_t ); */
+ default:
+ puts( "UNSUPPORTED SCANF FLAG COMBINATION" );
+ return NULL;
}
- return spec;
+ return ++spec;
}
/* TODO: Floats. */
return NULL;
#ifdef TEST
#include <_PDCLIB_test.h>
+#include <limits.h>
+
+
int main( void )
{
- TESTCASE( NO_TESTDRIVER );
+ /* Testing covered by fscanf.c */
return TEST_RESULTS;
}