glibc/stdio-common/scanf4.c

41 lines
735 B
C

#include <stdio.h>
#include <stdlib.h>
#include <libc-internal.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;
}