--- gsoap-2.8.orig/gsoap/stdsoap2.cpp +++ gsoap-2.8/gsoap/stdsoap2.cpp @@ -3963,7 +3963,7 @@ { memcpy(inaddr, &iadd, sizeof(iadd)); return SOAP_OK; } -#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__) +#if defined(__GLIBC__) || (defined(HAVE_GETHOSTBYNAME_R) && (defined(FREEBSD) || defined(__FreeBSD__))) || defined(__ANDROID__) || defined(LINUX) if (gethostbyname_r(addr, &hostent, soap->buf, SOAP_BUFLEN, &host, &soap->errnum) < 0) host = NULL; #elif defined(_AIX43) || ((defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R)) @@ -17240,7 +17240,7 @@ { #ifndef WIN32 # ifdef HAVE_STRERROR_R -# ifdef _GNU_SOURCE +# if defined (_GNU_SOURCE) && defined(__GLIBC__) return strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* GNU-specific */ # else strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */