FILE * hexadecimal = fopen( "scanf_testdata_hexadecimal", "wb+" );
TESTCASE( hexadecimal != NULL );
- TESTCASE( fwrite( "-0x0 -0x000 -0x7f 0x80 0xff -0x7fff 0x8000\n"
- "0xffff -0x7fffffff 0x80000000 0xffffffff\n"
- "-0x7fffffffffffffff 0x8000000000000000\n"
- "0xffffffffffffffff\n", 1, 142, hexadecimal ) == 142 );
+ TESTCASE( fwrite( "-0x0 -0x000 -0x7f -0x80 0xff -0x7fff -0x8000\n"
+ "0xffff -0x7fffffff -0x80000000 0xffffffff\n"
+ "-0x7fffffffffffffff -0x8000000000000000\n"
+ "0xffffffffffffffff\n", 1, 146, hexadecimal ) == 146 );
rewind( hexadecimal );
FILE * octal = fopen( "scanf_testdata_octal", "wb+" );
/* fscan */
-#define TESTSCAN( result, count, source, offset, format, ... ) \
+#define TESTSCAN( result, count, source, offset, ... ) \
do \
{ \
int n = -1; \
TESTCASE( fseek( source, offset, SEEK_SET ) == 0 ); \
- TESTCASE( SCANFUNC( source, format "%n", __VA_ARGS__, &n ) == result ); \
- TESTCASE( n == count ); \
+ int res = SCANFUNC( source, __VA_ARGS__ ); \
+ if ( res != result ) \
+ { \
+ rc += 1; \
+ printf( "FAILED: " __FILE__ ", line %d - expected result %d, got %d\n", __LINE__, result, res ); \
+ } \
+ if ( n != count ) \
+ { \
+ rc += 1; \
+ printf( "FAILED: " __FILE__ ", line %d - expected count %d, got %d\n", __LINE__, count, n ); \
+ } \
} while ( 0 )
+#define SCAN( format ) format "%n", &n
+#define SCANPARMS( format, ... ) format "%n", __VA_ARGS__, &n
+
+#define _PDCLIB_FSCAN
+