From 6fea8a94379432b41d19aa2e9701de0af4db244d Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Fri, 8 Nov 2013 06:33:43 -0700 Subject: [PATCH] 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 , . * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration. * lib/fpending.h (__fpending): Don't declare twice. Signed-off-by: Eric Blake --- ChangeLog | 8 ++++++++ lib/fpending.h | 2 +- m4/fpending.m4 | 18 +++++++++++------- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3d0f0fe7f..976c624c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2013-11-08 Eric Blake + + 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 + + 2013-11-05 Jim Meyering hash: relax license to LGPLv2+, for libguestfs diff --git a/lib/fpending.h b/lib/fpending.h index 30d67fcd7..c12871d85 100644 --- a/lib/fpending.h +++ b/lib/fpending.h @@ -24,6 +24,6 @@ # include #endif -#ifndef __fpending +#if !HAVE_DECL_FPENDING size_t __fpending (FILE *) _GL_ATTRIBUTE_PURE; #endif diff --git a/m4/fpending.m4 b/m4/fpending.m4 index c8d9e8b7b..669105b9b 100644 --- a/m4/fpending.m4 +++ b/m4/fpending.m4 @@ -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 @@ dnl we have to grub around in the FILE struct. AC_DEFUN([gl_FUNC_FPENDING], [ AC_CHECK_HEADERS_ONCE([stdio_ext.h]) + fp_headers=' + #include + #if HAVE_STDIO_EXT_H + # include + #endif + ' AC_CACHE_CHECK([for __fpending], [gl_cv_func___fpending], [ AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include - #if HAVE_STDIO_EXT_H - # include - #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], -- 2.11.0