Blame stdio-common/bug4.c

Packit 6c4009
#include <stdio.h>
Packit 6c4009
#include <unistd.h>
Packit 6c4009
#include <string.h>
Packit 6c4009
Packit 6c4009
int stdio_block_read = 1, stdio_block_write = 1;
Packit 6c4009
Packit 6c4009
int
Packit 6c4009
main (int argc, char *argv[])
Packit 6c4009
{
Packit 6c4009
  FILE *f;
Packit 6c4009
  int i;
Packit 6c4009
  char buffer[31];
Packit 6c4009
  const char filename[] = OBJPFX "bug4.test";
Packit 6c4009
Packit 6c4009
  while ((i = getopt (argc, argv, "rw")) != -1)
Packit 6c4009
    switch (i)
Packit 6c4009
      {
Packit 6c4009
      case 'r':
Packit 6c4009
	stdio_block_read = 0;
Packit 6c4009
	break;
Packit 6c4009
      case 'w':
Packit 6c4009
	stdio_block_write = 0;
Packit 6c4009
	break;
Packit 6c4009
      }
Packit 6c4009
Packit 6c4009
  f = fopen (filename, "w+");
Packit 6c4009
  for (i = 0; i < 9000; ++i)
Packit 6c4009
    putc('x', f);
Packit 6c4009
Packit 6c4009
  fseek (f, 8180L, 0);
Packit 6c4009
  fwrite ("Where does this text come from?", 1, 31, f);
Packit 6c4009
  fseek (f, 8180L, 0);
Packit 6c4009
  fread (buffer, 1, 31, f);
Packit 6c4009
  fwrite (buffer, 1, 31, stdout);
Packit 6c4009
  fclose (f);
Packit 6c4009
  remove (filename);
Packit 6c4009
Packit 6c4009
  if (!memcmp (buffer, "Where does this text come from?", 31))
Packit 6c4009
    {
Packit 6c4009
      puts ("\nTest succeeded.");
Packit 6c4009
      return 0;
Packit 6c4009
    }
Packit 6c4009
  else
Packit 6c4009
    {
Packit 6c4009
      puts ("\nTest FAILED!");
Packit 6c4009
      return 1;
Packit 6c4009
    }
Packit 6c4009
}