[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] fpending: fix regression on DragonFly BSD
From: |
Eric Blake |
Subject: |
[PATCH] fpending: fix regression on DragonFly BSD |
Date: |
Fri, 8 Nov 2013 06:58:39 -0700 |
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 <address@hidden>
---
I tested that this did not regress the Cygwin fix of commit 3f5bf99e,
and am pushing now even though I can't easily test that it fixes the
DragonFly issue.
ChangeLog | 8 ++++++++
lib/fpending.h | 2 +-
m4/fpending.m4 | 18 +++++++++++-------
3 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 3d0f0fe..976c624 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2013-11-08 Eric Blake <address@hidden>
+
+ 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 <address@hidden>
hash: relax license to LGPLv2+, for libguestfs
diff --git a/lib/fpending.h b/lib/fpending.h
index 30d67fc..c12871d 100644
--- a/lib/fpending.h
+++ b/lib/fpending.h
@@ -24,6 +24,6 @@
# include <stdio_ext.h>
#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 c8d9e8b..669105b 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 <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],
--
1.8.3.1
- Re: [PATCH] Fix M4 build on DragonFly BSD, Eric Blake, 2013/11/05
- Re: [PATCH] Fix M4 build on DragonFly BSD, GW, 2013/11/05
- Re: [PATCH] Fix M4 build on DragonFly BSD, Eric Blake, 2013/11/05
- Re: [PATCH] Fix M4 build on DragonFly BSD, GW, 2013/11/05
- Re: [PATCH] Fix M4 build on DragonFly BSD, Eric Blake, 2013/11/05
- Re: [PATCH] Fix M4 build on DragonFly BSD, GW, 2013/11/05
- [PATCH] fpending: fix regression on DragonFly BSD,
Eric Blake <=
- Re: [PATCH] fpending: fix regression on DragonFly BSD, Paul Eggert, 2013/11/08
- Re: [PATCH] fpending: fix regression on DragonFly BSD, Eric Blake, 2013/11/08
- Re: [PATCH] fpending: fix regression on DragonFly BSD, Robin Hahling, 2013/11/08