Fix incompatible integer to pointer conversion on non glibc systems
Development toolkit for Web Services and XML data bindings for C & C++
Brought to you by:
engelen
musl libc only supports XSI-compliant version of strerror_r. Hence we
need to check if GLIBC is defined or not.
Also it's incorrectly assumed to use a differnt version of gethostbyname_r than
that's available with glibc or musl libc. Without the extra !defined(__GLIBC__)
the condition goes straight to the following section of the code
#elif defined(HAVE_GETHOSTBYNAME_R)
hostent = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &soap->errnum);
#elif defined(VXWORKS)
Which is not the correct implementation of gethostbyname_r present.
I've this patch that makes it compile correctly on musl and parts of it were taken from older version of gsoap but a proper fix would very much be appreciated.
Please refer https://bugs.gentoo.org/897870 for more information and a complete build log.
The suggested change will not compile on other systems, such as MacOS.