changeset 9725:95c015b62dbc

Fix a build problem on HP-UX 10.
author Bruno Haible <bruno@clisp.org>
date Sun, 24 Feb 2008 18:40:04 +0100
parents 437f6b35e0e5
children 4f5ee8490cd3
files ChangeLog doc/posix-functions/gmtime_r.texi doc/posix-functions/localtime_r.texi m4/time_r.m4
diffstat 4 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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.
--- a/doc/posix-functions/gmtime_r.texi
+++ b/doc/posix-functions/gmtime_r.texi
@@ -16,5 +16,6 @@
 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
--- a/doc/posix-functions/localtime_r.texi
+++ b/doc/posix-functions/localtime_r.texi
@@ -16,5 +16,6 @@
 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
--- a/m4/time_r.m4
+++ b/m4/time_r.m4
@@ -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 @@
 	   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