Blame libio/tst-ext2.c

Packit 6c4009
#include <stdio.h>
Packit 6c4009
#include <stdio_ext.h>
Packit 6c4009
Packit 6c4009
Packit 6c4009
static char *fname;
Packit 6c4009
Packit 6c4009
#define PREPARE(argc, argv) \
Packit 6c4009
  do {									\
Packit 6c4009
    int fd = create_temp_file ("tst-ext2", &fname);			\
Packit 6c4009
    if (fd == -1)							\
Packit 6c4009
      {									\
Packit 6c4009
	puts ("cannot create temporary file");				\
Packit 6c4009
	exit (1);							\
Packit 6c4009
      }									\
Packit 6c4009
    close (fd);								\
Packit 6c4009
  } while (0)
Packit 6c4009
Packit 6c4009
Packit 6c4009
static int
Packit 6c4009
do_test (void)
Packit 6c4009
{
Packit 6c4009
  int res = 0;
Packit 6c4009
Packit 6c4009
  FILE *fp;
Packit 6c4009
Packit 6c4009
  fp = fopen (fname, "w");
Packit 6c4009
  printf ("Initial state for write-only stream: %d %d\n",
Packit 6c4009
          __freading (fp) != 0, __fwriting (fp) != 0);
Packit 6c4009
  res |= ((__freading (fp) != 0) != 0
Packit 6c4009
	  || (__fwriting (fp) != 0) != 1);
Packit 6c4009
  fclose (fp);
Packit 6c4009
Packit 6c4009
  fp = fopen (fname, "r");
Packit 6c4009
  printf ("Initial state for read-only stream:  %d %d\n",
Packit 6c4009
          __freading (fp) != 0, __fwriting (fp) != 0);
Packit 6c4009
  res |= ((__freading (fp) != 0) != 1
Packit 6c4009
	  || (__fwriting (fp) != 0) != 0);
Packit 6c4009
  fclose (fp);
Packit 6c4009
Packit 6c4009
  fp = fopen (fname, "r+");
Packit 6c4009
  printf ("Initial state for read-write stream: %d %d\n",
Packit 6c4009
          __freading (fp) != 0, __fwriting (fp) != 0);
Packit 6c4009
  res |= ((__freading (fp) != 0) != 0
Packit 6c4009
	  || (__fwriting (fp) != 0) != 0);
Packit 6c4009
  fclose (fp);
Packit 6c4009
Packit 6c4009
  fp = fopen (fname, "w+");
Packit 6c4009
  printf ("Initial state for read-write stream: %d %d\n",
Packit 6c4009
          __freading (fp) != 0, __fwriting (fp) != 0);
Packit 6c4009
  res |= ((__freading (fp) != 0) != 0
Packit 6c4009
	  || (__fwriting (fp) != 0) != 0);
Packit 6c4009
  fclose (fp);
Packit 6c4009
Packit 6c4009
  return res;
Packit 6c4009
}
Packit 6c4009
Packit 6c4009
#define TEST_FUNCTION do_test ()
Packit 6c4009
#include "../test-skeleton.c"