Back to index

glibc  2.9
Functions | Variables
bug12.c File Reference
#include <stdio.h>
#include <string.h>

Go to the source code of this file.

Functions

int main (void)

Variables

char x [4096]
char z [4096]
char b [21]
char m [4096 *4]

Function Documentation

int main ( void  )

Definition at line 7 of file bug12.c.

{
  FILE *f = tmpfile ();
  int i, failed = 0;

  memset (x, 'x', 4096);
  memset (z, 'z', 4096);
  b[20] = 0;

  for (i = 0; i <= 5; i++)
    {
      fwrite (x, 4096, 1, f);
      fwrite (z, 4096, 1, f);
    }
  rewind (f);

  fread (m, 4096 * 4 - 10, 1, f);
  fread (b, 20, 1, f);
  printf ("got %s (should be %s)\n", b, "zzzzzzzzzzxxxxxxxxxx");
  if (strcmp (b, "zzzzzzzzzzxxxxxxxxxx"))
    failed = 1;

  fseek (f, -40, SEEK_CUR);
  fread (b, 20, 1, f);
  printf ("got %s (should be %s)\n", b, "zzzzzzzzzzzzzzzzzzzz");
  if (strcmp (b, "zzzzzzzzzzzzzzzzzzzz"))
    failed = 1;

  fread (b, 20, 1, f);
  printf ("got %s (should be %s)\n", b, "zzzzzzzzzzxxxxxxxxxx");
  if (strcmp (b, "zzzzzzzzzzxxxxxxxxxx"))
    failed = 1;

  fread (b, 20, 1, f);
  printf ("got %s (should be %s)\n", b, "xxxxxxxxxxxxxxxxxxxx");
  if (strcmp (b, "xxxxxxxxxxxxxxxxxxxx"))
    failed = 1;

  return failed;
}

Here is the call graph for this function:


Variable Documentation

char b[21]

Definition at line 4 of file bug12.c.

char m[4096 *4]

Definition at line 4 of file bug12.c.

char x[4096]

Definition at line 4 of file bug12.c.

char z[4096]

Definition at line 4 of file bug12.c.