aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-05-18 13:24:23 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-05-18 13:24:23 +0000
commitdd7b6aef392c3d7cf4e3e346c1d15a3067da6d19 (patch)
treefab2278ece67aaeb77be58cbe78124197f4804e4
parent910b8b6a69e8e1e1bfb3ee6c7dd6980fd11590e8 (diff)
The configure check for strerror_r() failed to detect the proper API at
times, like on my HP-UX 10.20 tests. And then lib/strerror.c badly assumed the glibc version if the posix define wasn't set (since it _had_ found a strerror_r).
-rw-r--r--CHANGES11
-rw-r--r--acinclude.m44
-rw-r--r--lib/strerror.c6
3 files changed, 20 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 25bac72cc..ad54d3734 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,17 @@
Changelog
+Daniel (18 May 2005)
+- The configure check for strerror_r() failed to detect the proper API at
+ times, like on my HP-UX 10.20 tests. And then lib/strerror.c badly assumed
+ the glibc version if the posix define wasn't set (since it _had_ found a
+ strerror_r).
+
+Daniel (16 May 2005)
+- The gmtime_r() function in HP-UX 10.20 is broken. About 13 test cases fail
+ due to this. There's now a configure check that attempts to detect the bad
+ function and not use it on such systems.
+
Version 7.14.0 (16 May 2005)
Daniel (13 May 2005)
diff --git a/acinclude.m4 b/acinclude.m4
index c9894c480..69c3e6cd8 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -418,7 +418,9 @@ dnl
AC_DEFUN([CURL_CHECK_STRERROR_R],
[
dnl determine of strerror_r is present
- AC_CHECK_FUNCS(strerror_r,[
+ AC_CHECK_FUNC(strerror_r,
+ strerror_r="yes",
+ [
AC_MSG_CHECKING(whether strerror_r is declared)
AC_EGREP_CPP(strerror_r,[
#include <string.h>],[
diff --git a/lib/strerror.c b/lib/strerror.c
index dcc7f5040..68e00cf2d 100644
--- a/lib/strerror.c
+++ b/lib/strerror.c
@@ -22,6 +22,12 @@
#include "setup.h"
+#ifdef HAVE_STRERROR_R
+#if !defined(HAVE_POSIX_STRERROR_R) && !defined(HAVE_GLIBC_STRERROR_R)
+#error "you MUST have either POSIX or glibc strerror_r if strerror_r is found"
+#endif /* !POSIX && !glibc */
+#endif /* HAVE_STRERROR_R */
+
#include <curl/curl.h>
#include <stdlib.h>
#include <string.h>