diff options
Diffstat (limited to 'REORG.TODO/stdio-common/scanf4.c')
-rw-r--r-- | REORG.TODO/stdio-common/scanf4.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/REORG.TODO/stdio-common/scanf4.c b/REORG.TODO/stdio-common/scanf4.c new file mode 100644 index 0000000000..7a2abec89b --- /dev/null +++ b/REORG.TODO/stdio-common/scanf4.c @@ -0,0 +1,40 @@ +#include <stdio.h> +#include <stdlib.h> +#include <libc-diag.h> + +int +main(int arc, char *argv[]) +{ + int res; + unsigned int val; + + FILE *fp = fopen ("/dev/null", "r"); + + val = 0; + res = fscanf(fp, "%n", &val); + + printf("Result of fscanf %%n = %d\n", res); + printf("Scanned format = %d\n", val); + + /* We're testing exactly the case the warning is for. */ + DIAG_PUSH_NEEDS_COMMENT; + DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wformat-zero-length"); + + res = fscanf(fp, ""); + + DIAG_POP_NEEDS_COMMENT; + + printf("Result of fscanf \"\" = %d\n", res); + if (res != 0) + abort (); + + res = fscanf(fp, "BLURB"); + printf("Result of fscanf \"BLURB\" = %d\n", res); + if (res >= 0) + abort (); + + fclose (fp); + + return 0; + return 0; +} |