Fix a build problem on HP-UX 10.
authorBruno Haible <bruno@clisp.org>
Sun, 24 Feb 2008 17:40:04 +0000 (18:40 +0100)
committerBruno Haible <bruno@clisp.org>
Sun, 24 Feb 2008 17:40:04 +0000 (18:40 +0100)
ChangeLog
doc/posix-functions/gmtime_r.texi
doc/posix-functions/localtime_r.texi
m4/time_r.m4

index 31c51cf..bc27883 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-02-22  Bruno Haible  <bruno@clisp.org>
+
+       * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
+       is a pointer type.  Needed for HP-UX 10.
+       * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
+       * doc/posix-functions/gmtime_r.texi: Likewise.
+       Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
+
 2008-02-24  Bruno Haible  <bruno@clisp.org>
 
        * modules/environ-tests: New file.
index e600277..42aa95a 100644 (file)
@@ -16,5 +16,6 @@ Portability problems not fixed by Gnulib:
 This function is missing on some platforms:
 mingw.
 @item
-Some platforms define a function of this name that is incompatible to POSIX.
+Some platforms define a function of this name that is incompatible to POSIX:
+HP-UX 10.
 @end itemize
index ad68764..c0b5b5e 100644 (file)
@@ -16,5 +16,6 @@ Portability problems not fixed by Gnulib:
 This function is missing on some platforms:
 mingw.
 @item
-Some platforms define a function of this name that is incompatible to POSIX.
+Some platforms define a function of this name that is incompatible to POSIX:
+HP-UX 10.
 @end itemize
index dbb6396..c871b56 100644 (file)
@@ -1,6 +1,6 @@
 dnl Reentrant time functions like localtime_r.
 
-dnl Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -23,7 +23,9 @@ AC_DEFUN([gl_TIME_R],
           even though the POSIX signature has the 'restrict's,
           since C99 says they can't affect type compatibility.  */
        struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r;
-        if (ptr) return 0;],
+        if (ptr) return 0;
+        /* Check the return type is a pointer.  On HP-UX 10 it is 'int'.  */
+        *localtime_r (0, 0);],
        [gl_cv_time_r_posix=yes],
        [gl_cv_time_r_posix=no])])
   if test $gl_cv_time_r_posix = yes; then