/
githubmirror
/
glibc
Обзор
Документация
Войти
/
githubmirror
/
glibc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
libio/tst-eof.c
75 строк
1 KB
Ulrich Drepper
pdate.
23 июл 2002, 04:31
23 июл 2002, 04:31
97887d3
Код
Авторство
О чём код?
#include <fcntl.h> #include <stdio.h> #include <string.h> #include <unistd.h> static void do_prepare (void); #define PREPARE(argc, argv) do_prepare () static int do_test (void); #define TEST_FUNCTION do_test () #include <test-skeleton.c> int fd; static void do_prepare (void) { fd = create_temp_file ("tst-eof.", NULL); if (fd == -1) { printf ("cannot create temporary file: %m\n"); exit (1); } } static int do_test (void) { char buf[40]; FILE *fp; if (write (fd, "some string\n", 12) != 12) { printf ("cannot write temporary file: %m\n"); return 1; } if (lseek (fd, 0, SEEK_SET) == (off_t) -1) { printf ("cannot reposition temporary file: %m\n"); return 1; } fp = fdopen (fd, "r"); if (fp == NULL) { printf ("cannot create stream: %m\n"); return 1; } if (feof (fp)) { puts ("EOF set after fdopen"); return 1; } if (fread (buf, 1, 20, fp) != 12) { puts ("didn't read the correct number of bytes"); return 1; } if (! feof (fp)) { puts ("EOF not set after fread"); return 1; } fclose (fp); return 0; }