changeset 8921:28ffab893f7a

Work around problem reported by Steven M. Schweda in <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>: Tru64 5.1B with the Compaq compiler environment installed declares an 'isblank' function but does not define it in the C library. * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too. * lib/regex_internal.h (isblank): Likewise. * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence. * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
author Paul Eggert <eggert@cs.ucla.edu>
date Wed, 06 Jun 2007 18:35:17 +0000
parents 2ebbd8b55714
children 4d1bebb0f82b
files ChangeLog lib/fnmatch.c lib/regex_internal.h m4/fnmatch.m4 m4/regex.m4
diffstat 5 files changed, 15 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Jun 06 02:26:06 2007 +0000
+++ b/ChangeLog	Wed Jun 06 18:35:17 2007 +0000
@@ -1,3 +1,14 @@
+2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Work around problem reported by Steven M. Schweda in
+	<http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
+	Tru64 5.1B with the Compaq compiler environment installed declares
+	an 'isblank' function but does not define it in the C library.
+	* lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
+	* lib/regex_internal.h (isblank): Likewise.
+	* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
+	* m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
+
 2007-06-05  Bruno Haible  <bruno@clisp.org>
 
 	Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
--- a/lib/fnmatch.c	Wed Jun 06 02:26:06 2007 +0000
+++ b/lib/fnmatch.c	Wed Jun 06 18:35:17 2007 +0000
@@ -85,7 +85,7 @@
 #if defined _LIBC || !defined __GNU_LIBRARY__ || !HAVE_FNMATCH_GNU
 
 
-# if ! (defined isblank || HAVE_DECL_ISBLANK)
+# if ! (defined isblank || (HAVE_ISBLANK && HAVE_DECL_ISBLANK))
 #  define isblank(c) ((c) == ' ' || (c) == '\t')
 # endif
 
--- a/lib/regex_internal.h	Wed Jun 06 02:26:06 2007 +0000
+++ b/lib/regex_internal.h	Wed Jun 06 18:35:17 2007 +0000
@@ -48,7 +48,7 @@
 #endif
 
 /* In case that the system doesn't have isblank().  */
-#if !defined _LIBC && !HAVE_DECL_ISBLANK && !defined isblank
+#if !defined _LIBC && ! (defined isblank || (HAVE_ISBLANK && HAVE_DECL_ISBLANK))
 # define isblank(ch) ((ch) == ' ' || (ch) == '\t')
 #endif
 
--- a/m4/fnmatch.m4	Wed Jun 06 02:26:06 2007 +0000
+++ b/m4/fnmatch.m4	Wed Jun 06 18:35:17 2007 +0000
@@ -83,7 +83,7 @@
 [AC_REQUIRE([AC_FUNC_ALLOCA])dnl
 AC_REQUIRE([AC_TYPE_MBSTATE_T])dnl
 AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>])
-AC_CHECK_FUNCS_ONCE([btowc iswctype mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy])
+AC_CHECK_FUNCS_ONCE([btowc isblank iswctype mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy])
 AC_CHECK_HEADERS_ONCE([wctype.h])
 AC_LIBOBJ([fnmatch])
 FNMATCH_H=fnmatch.h
--- a/m4/regex.m4	Wed Jun 06 02:26:06 2007 +0000
+++ b/m4/regex.m4	Wed Jun 06 18:35:17 2007 +0000
@@ -206,6 +206,6 @@
 [
   AC_REQUIRE([AC_GNU_SOURCE])
   AC_REQUIRE([AC_C_RESTRICT])
-  AC_CHECK_FUNCS_ONCE([iswctype mbrtowc wcrtomb wcscoll])
+  AC_CHECK_FUNCS_ONCE([isblank iswctype mbrtowc wcrtomb wcscoll])
   AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>])
 ])