]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
so there are at least two different strerror_r() versions and our brand
authorDaniel Stenberg <daniel@haxx.se>
Thu, 25 Mar 2004 12:45:01 +0000 (12:45 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 25 Mar 2004 12:45:01 +0000 (12:45 +0000)
new configure script detects them and now this code acts according to what
API that was detected

lib/curl_strerror.c

index 0d4ecbef8356ad89ed1786002530c89a6693cc41..5707596036e34445ac7623f2558a06a221026b0e 100644 (file)
@@ -506,10 +506,17 @@ const char *Curl_strerror(struct connectdata *conn, int err)
   if (err >= 0 && err < sys_nerr) {
     /* These should be atomic and hopefully thread-safe */
 #ifdef HAVE_STRERROR_R
+#ifdef HAVE_POSIX_STRERROR_R
     strerror_r(err, buf, max); 
     /* this may set errno to ERANGE if insufficient storage was supplied via
        strerrbuf and buflen to contain the generated message string, or EINVAL
        if the value of errnum is not a valid error number.*/
+#else
+    /* HAVE_GLIBC_STRERROR_R */
+    char buffer[256];
+    char *msg = strerror_r(err, buffer, sizeof(buffer));
+    strncpy(buf, msg, max);
+#endif
 #else
     strncpy(buf, strerror(err), max);
 #endif