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
}