summaryrefslogtreecommitdiff
path: root/m4/fflush.m4
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2007-05-24 16:59:20 +0000
committerEric Blake <ebb9@byu.net>2007-05-24 16:59:20 +0000
commite461ff7387db733080824cb94b239d8d1d09c4f3 (patch)
tree0d62b7ae517125e4b6b1148b129d4b320a12c090 /m4/fflush.m4
parente55d665f2854709002b24e51bb5b2ebbd2941e00 (diff)
downloadgnulib-e461ff7387db733080824cb94b239d8d1d09c4f3.tar.gz
Fix lseek on mingw.
* modules/lseek: New module. * m4/lseek.m4: New file. * lib/lseek.c: New file. * modules/lseek-tests: New file. * tests/test-lseek.c: New file. * tests/test-lseek.sh: New file. * MODULES.html.sh: Document lseek module. * modules/fflush (Depends-on): Add lseek, fseeko. * modules/fseeko (Depends-on): Likewise. * modules/ftello (Depends-on): Likewise. * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is broken. * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is broken. * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module. * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files. * lib/ftello.c (rpl_ftello): Likewise. * tests/test-fseeko.c (main): Test this. * tests/test-fseeko.sh: Likewise. * tests/test-ftello.c (main): Likewise. * tests/test-ftello.sh: Likewise. * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now implies replacing fseek. * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO, HAVE_FTELLO. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info. * modules/unistd (Makefile.am): Likewise. * lib/unistd_.h (lseek): Declare a replacement. * doc/functions/lseek.texi (lseek): Document this fix. * doc/functions/fseek.texi (fseek): Likewise. * doc/functions/ftell.texi (ftell): Likewise.
Diffstat (limited to 'm4/fflush.m4')
-rwxr-xr-xm4/fflush.m47
1 files changed, 4 insertions, 3 deletions
diff --git a/m4/fflush.m4 b/m4/fflush.m4
index 2399fe03d9..f796a55415 100755
--- a/m4/fflush.m4
+++ b/m4/fflush.m4
@@ -1,4 +1,4 @@
-#serial 3
+# fflush.m4 serial 4
# Copyright (C) 2007 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
@@ -20,9 +20,9 @@ AC_DEFUN([gl_FUNC_FFLUSH],
#include <stdio.h>
#include <unistd.h>
]], [[FILE *f = fopen ("conftest.txt", "r");
- char buffer[10];
+ char buffer[10];
int fd = fileno (f);
- if (!f || 0 > fd || fread (buffer, 1, 5, f) != 5)
+ if (!f || 0 > fd || fread (buffer, 1, 5, f) != 5)
return 2;
/* For deterministic results, ensure f read a bigger buffer. */
if (lseek (fd, 0, SEEK_CUR) == 5)
@@ -48,4 +48,5 @@ AC_DEFUN([gl_REPLACE_FFLUSH],
AC_LIBOBJ([fseeko])
AC_REQUIRE([gl_STDIO_H_DEFAULTS])
REPLACE_FFLUSH=1
+ REPLACE_FSEEKO=1
])