Blame stdio-common/bug12.c

Packit Service 82fcde
#include <stdio.h>
Packit Service 82fcde
#include <string.h>
Packit Service 82fcde
Packit Service 82fcde
char x[4096], z[4096], b[21], m[4096 * 4];
Packit Service 82fcde
Packit Service 82fcde
int
Packit Service 82fcde
main (void)
Packit Service 82fcde
{
Packit Service 82fcde
  FILE *f = tmpfile ();
Packit Service 82fcde
  int i, failed = 0;
Packit Service 82fcde
Packit Service 82fcde
  memset (x, 'x', 4096);
Packit Service 82fcde
  memset (z, 'z', 4096);
Packit Service 82fcde
  b[20] = 0;
Packit Service 82fcde
Packit Service 82fcde
  for (i = 0; i <= 5; i++)
Packit Service 82fcde
    {
Packit Service 82fcde
      fwrite (x, 4096, 1, f);
Packit Service 82fcde
      fwrite (z, 4096, 1, f);
Packit Service 82fcde
    }
Packit Service 82fcde
  rewind (f);
Packit Service 82fcde
Packit Service 82fcde
  fread (m, 4096 * 4 - 10, 1, f);
Packit Service 82fcde
  fread (b, 20, 1, f);
Packit Service 82fcde
  printf ("got %s (should be %s)\n", b, "zzzzzzzzzzxxxxxxxxxx");
Packit Service 82fcde
  if (strcmp (b, "zzzzzzzzzzxxxxxxxxxx"))
Packit Service 82fcde
    failed = 1;
Packit Service 82fcde
Packit Service 82fcde
  fseek (f, -40, SEEK_CUR);
Packit Service 82fcde
  fread (b, 20, 1, f);
Packit Service 82fcde
  printf ("got %s (should be %s)\n", b, "zzzzzzzzzzzzzzzzzzzz");
Packit Service 82fcde
  if (strcmp (b, "zzzzzzzzzzzzzzzzzzzz"))
Packit Service 82fcde
    failed = 1;
Packit Service 82fcde
Packit Service 82fcde
  fread (b, 20, 1, f);
Packit Service 82fcde
  printf ("got %s (should be %s)\n", b, "zzzzzzzzzzxxxxxxxxxx");
Packit Service 82fcde
  if (strcmp (b, "zzzzzzzzzzxxxxxxxxxx"))
Packit Service 82fcde
    failed = 1;
Packit Service 82fcde
Packit Service 82fcde
  fread (b, 20, 1, f);
Packit Service 82fcde
  printf ("got %s (should be %s)\n", b, "xxxxxxxxxxxxxxxxxxxx");
Packit Service 82fcde
  if (strcmp (b, "xxxxxxxxxxxxxxxxxxxx"))
Packit Service 82fcde
    failed = 1;
Packit Service 82fcde
Packit Service 82fcde
  return failed;
Packit Service 82fcde
}