Mercurial > gnulib
changeset 37227:71cf3cc49683
fpending: fix regression on DragonFly BSD
Commit 3f5bf99e claimed that it is safe to declare __fpending twice,
but in reality this caused a regression on Dragonfly BSD. Reported by
GW in <https://lists.gnu.org/archive/html/bug-m4/2013-11/msg00000.html>,
<https://lists.gnu.org/archive/html/bug-gnulib/2013-11/msg00022.html>.
* m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
* lib/fpending.h (__fpending): Don't declare twice.
Signed-off-by: Eric Blake <eblake@redhat.com>
author | Eric Blake <eblake@redhat.com> |
---|---|
date | Fri, 08 Nov 2013 06:33:43 -0700 |
parents | c93b873f0390 |
children | 2da4036f0045 |
files | ChangeLog lib/fpending.h m4/fpending.m4 |
diffstat | 3 files changed, 20 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Tue Nov 05 08:27:10 2013 -0800 +++ b/ChangeLog Fri Nov 08 06:33:43 2013 -0700 @@ -1,3 +1,11 @@ +2013-11-08 Eric Blake <eblake@redhat.com> + + fpending: fix regression on DragonFly BSD + * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration. + * lib/fpending.h (__fpending): Don't declare twice. + Reported by GW in + <https://lists.gnu.org/archive/html/bug-m4/2013-11/msg00000.html> + 2013-11-05 Jim Meyering <meyering@fb.com> hash: relax license to LGPLv2+, for libguestfs
--- a/lib/fpending.h Tue Nov 05 08:27:10 2013 -0800 +++ b/lib/fpending.h Fri Nov 08 06:33:43 2013 -0700 @@ -24,6 +24,6 @@ # include <stdio_ext.h> #endif -#ifndef __fpending +#if !HAVE_DECL_FPENDING size_t __fpending (FILE *) _GL_ATTRIBUTE_PURE; #endif
--- a/m4/fpending.m4 Tue Nov 05 08:27:10 2013 -0800 +++ b/m4/fpending.m4 Fri Nov 08 06:33:43 2013 -0700 @@ -1,4 +1,4 @@ -# serial 20 +# serial 21 # Copyright (C) 2000-2001, 2004-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -16,19 +16,23 @@ AC_DEFUN([gl_FUNC_FPENDING], [ AC_CHECK_HEADERS_ONCE([stdio_ext.h]) + fp_headers=' + #include <stdio.h> + #if HAVE_STDIO_EXT_H + # include <stdio_ext.h> + #endif + ' AC_CACHE_CHECK([for __fpending], [gl_cv_func___fpending], [ AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include <stdio.h> - #if HAVE_STDIO_EXT_H - # include <stdio_ext.h> - #endif - ]], + [AC_LANG_PROGRAM([$fp_headers], [[return ! __fpending (stdin);]])], [gl_cv_func___fpending=yes], [gl_cv_func___fpending=no]) ]) + if test $gl_cv_func___fpending = yes; then + AC_CHECK_DECLS([__fpending], [], [], [$fp_headers]) + fi ]) AC_DEFUN([gl_PREREQ_FPENDING],