Blame stdio-common/scanf4.c
|
Packit |
6c4009 |
#include <stdio.h>
|
|
Packit |
6c4009 |
#include <stdlib.h>
|
|
Packit |
6c4009 |
#include <libc-diag.h>
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
int
|
|
Packit |
6c4009 |
main(int arc, char *argv[])
|
|
Packit |
6c4009 |
{
|
|
Packit |
6c4009 |
int res;
|
|
Packit |
6c4009 |
unsigned int val;
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
FILE *fp = fopen ("/dev/null", "r");
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
val = 0;
|
|
Packit |
6c4009 |
res = fscanf(fp, "%n", &val;;
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
printf("Result of fscanf %%n = %d\n", res);
|
|
Packit |
6c4009 |
printf("Scanned format = %d\n", val);
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
/* We're testing exactly the case the warning is for. */
|
|
Packit |
6c4009 |
DIAG_PUSH_NEEDS_COMMENT;
|
|
Packit |
6c4009 |
DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wformat-zero-length");
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
res = fscanf(fp, "");
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
DIAG_POP_NEEDS_COMMENT;
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
printf("Result of fscanf \"\" = %d\n", res);
|
|
Packit |
6c4009 |
if (res != 0)
|
|
Packit |
6c4009 |
abort ();
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
res = fscanf(fp, "BLURB");
|
|
Packit |
6c4009 |
printf("Result of fscanf \"BLURB\" = %d\n", res);
|
|
Packit |
6c4009 |
if (res >= 0)
|
|
Packit |
6c4009 |
abort ();
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
fclose (fp);
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
return 0;
|
|
Packit |
6c4009 |
return 0;
|
|
Packit |
6c4009 |
}
|