diff options
author | Michael Adam <obnox@samba.org> | 2008-03-18 12:16:47 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2008-03-18 16:44:59 +0100 |
commit | 5c73dabd49bfca840c062e8c49d8765dc0e4531e (patch) | |
tree | 481917c0100432b1f49129ed20cfa5760b284a16 /source3/lib/replace/libreplace.m4 | |
parent | a4d7cbcb2f9af300b005457867903387fb61a532 (diff) | |
download | samba-5c73dabd49bfca840c062e8c49d8765dc0e4531e.tar.gz samba-5c73dabd49bfca840c062e8c49d8765dc0e4531e.tar.bz2 samba-5c73dabd49bfca840c062e8c49d8765dc0e4531e.zip |
libreplace: replace inet_ntoa() when it is missing
...not only replace it when it is broken.
This moves the defintion of rep_inet_ntoa from replace.c
to inet_ntoa.c and adds configure checks for existence
of inet_ntoa(). Checks are moved to an include file of its own.
NOTE: The original rep_inet_ntoa in replace.c was wrapped
into a "#ifndef WITH_PTHREADS" but the prototype in replace.h
and the define in system/network.h were not. I removed that
ifndef since the inet_ntoa() function is usually not thread safe
anyways, since it returns a pointer to a static buffer.
So whoever calls inet_ntoa() should be aware that it is not
thread safe anyways.
Michael
(cherry picked from commit 974c0c45ad42644348e0b55454715b12158f1028)
(This used to be commit edcf2712bcdedabbfdd9ee8b9a18f46126930636)
Diffstat (limited to 'source3/lib/replace/libreplace.m4')
-rw-r--r-- | source3/lib/replace/libreplace.m4 | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/source3/lib/replace/libreplace.m4 b/source3/lib/replace/libreplace.m4 index e6e7198abf..3da2a90a99 100644 --- a/source3/lib/replace/libreplace.m4 +++ b/source3/lib/replace/libreplace.m4 @@ -120,24 +120,6 @@ if test x"$libreplace_cv_USABLE_NET_IF_H" = x"yes";then AC_DEFINE(HAVE_NET_IF_H, 1, usability of net/if.h) fi -AC_CACHE_CHECK([for broken inet_ntoa],libreplace_cv_REPLACE_INET_NTOA,[ -AC_TRY_RUN([ -#include <stdio.h> -#include <unistd.h> -#include <sys/types.h> -#include <netinet/in.h> -#ifdef HAVE_ARPA_INET_H -#include <arpa/inet.h> -#endif -main() { struct in_addr ip; ip.s_addr = 0x12345678; -if (strcmp(inet_ntoa(ip),"18.52.86.120") && - strcmp(inet_ntoa(ip),"120.86.52.18")) { exit(0); } -exit(1);}], - libreplace_cv_REPLACE_INET_NTOA=yes,libreplace_cv_REPLACE_INET_NTOA=no,libreplace_cv_REPLACE_INET_NTOA=cross)]) -if test x"$libreplace_cv_REPLACE_INET_NTOA" = x"yes"; then - AC_DEFINE(REPLACE_INET_NTOA,1,[Whether inet_ntoa should be replaced]) -fi - AC_HAVE_TYPE([socklen_t],[#include <sys/socket.h>]) AC_HAVE_TYPE([sa_family_t],[#include <sys/socket.h>]) AC_HAVE_TYPE([struct addrinfo], [#include <netdb.h>]) @@ -348,6 +330,7 @@ m4_include(socket.m4) m4_include(inet_ntop.m4) m4_include(inet_pton.m4) m4_include(inet_aton.m4) +m4_include(inet_ntoa.m4) m4_include(getaddrinfo.m4) m4_include(repdir.m4) m4_include(getifaddrs.m4) |