Mercurial > hg > octave-lojdl > gnulib-hg
view m4/fflush.m4 @ 9209:5a0294ce5372
Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
Autoconf definition.
* modules/euidaccess (Depends-on): Add extensions, for
AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
* modules/fnmatch (Depends-on): Likewise.
* modules/getaddrinfo (Depends-on): Likewise.
* modules/getdelim (Depends-on): Likewise.
* modules/getline (Depends-on): Likewise.
* modules/getsubopt (Depends-on): Likewise.
* modules/gettext (Depends-on): Likewise.
* modules/group-member (Depends-on): Likewise.
* modules/mbchar (Depends-on): Likewise.
* modules/memmem (Depends-on): Likewise.
* modules/mempcpy (Depends-on): Likewise.
* modules/memrchr (Depends-on): Likewise.
* modules/pagealign_alloc (Depends-on): Likewise.
* modules/readutmp (Depends-on): Likewise.
* modules/stpcpy (Depends-on): Likewise.
* modules/stpncpy (Depends-on): Likewise.
* modules/strchrnul (Depends-on): Likewise.
* modules/strndup (Depends-on): Likewise.
* modules/strsep (Depends-on): Likewise.
* modules/strverscmp (Depends-on): Likewise.
* modules/vasprintf (Depends-on): Likewise.
* modules/wcwidth (Depends-on): Likewise.
* m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
* m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
* m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
* m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
* m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
* m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
* m4/mbchar.m4 (gl_MBCHAR): Likewise.
* m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
* m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
* m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
* m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
* m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
* m4/readutmp.m4 (gl_READUTMP): Likewise.
* m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
* m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
* m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
* m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
* m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
* m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
* m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
* m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
* m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
so that lock.m4 can be used in gettext without extensions module.
author | Eric Blake <ebb9@byu.net> |
---|---|
date | Wed, 12 Sep 2007 15:59:57 +0000 |
parents | dfee3b4fd46c |
children | fc76a5b22f64 |
line wrap: on
line source
# fflush.m4 serial 4 # Copyright (C) 2007 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. dnl From Eric Blake dnl Find out how to obey POSIX semantics of fflush(stdin) discarding dnl unread input on seekable streams, rather than C99 undefined semantics. AC_DEFUN([gl_FUNC_FFLUSH], [ AC_CACHE_CHECK([whether fflush works on input streams], [gl_cv_func_fflush_stdin], [echo hello world > conftest.txt AC_RUN_IFELSE([AC_LANG_PROGRAM( [[ #include <stdio.h> #include <unistd.h> ]], [[FILE *f = fopen ("conftest.txt", "r"); char buffer[10]; int fd = fileno (f); 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) return 3; /* POSIX requires fflush-fseek to set file offset of fd. */ if (fflush (f) != 0 || fseek (f, 0, SEEK_CUR) != 0) return 4; return !(lseek (fd, 0, SEEK_CUR) == 5); ]])], [gl_cv_func_fflush_stdin=yes], [gl_cv_func_fflush_stdin=no], [dnl Pessimistically assume fflush is broken. This is wrong for dnl at least glibc and cygwin; but lib/fflush.c takes this into account. gl_cv_func_fflush_stdin=no]) rm conftest.txt ]) if test $gl_cv_func_fflush_stdin = no; then gl_REPLACE_FFLUSH fi ]) AC_DEFUN([gl_REPLACE_FFLUSH], [ AC_LIBOBJ([fflush]) AC_LIBOBJ([fseeko]) AC_REQUIRE([gl_STDIO_H_DEFAULTS]) REPLACE_FFLUSH=1 REPLACE_FSEEKO=1 ])