From 7e1662839a13794af3b0262b8cb99c0965acf072 Mon Sep 17 00:00:00 2001 From: diego Date: Sun, 1 Feb 2009 14:38:28 +0000 Subject: Restructure network tests: Always check for both inet_aton and inet_pton. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28439 b3059339-0415-0410-9bf9-f77b7e298cf2 --- configure | 48 ++++++++++++++++++++--------------------------- stream/librtsp/rtsp_rtp.c | 20 ++++++++------------ stream/tcp.c | 10 ++++------ stream/udp.c | 12 +++++------- 4 files changed, 37 insertions(+), 53 deletions(-) diff --git a/configure b/configure index bfcae67e88..8bf0590b5f 100755 --- a/configure +++ b/configure @@ -2915,59 +2915,49 @@ else fi -_use_aton=no echocheck "inet_pton()" +def_inet_pton='#define HAVE_INET_PTON 0' +inet_pton=no cat > $TMPC << EOF #include #include #include int main(void) { (void) inet_pton(0, 0, 0); return 0; } EOF -if test "$_winsock2_h" = yes ; then - _res_comment="using winsock2 functions instead" - echores "no" -elif cc_check $_ld_sock ; then +if cc_check $_ld_sock ; then # NOTE: Linux has libresolv but does not need it - : test $_ld_sock && _res_comment="using $_ld_sock" - echores "yes" + inet_pton=yes + def_inet_pton='#define HAVE_INET_PTON 1' elif cc_check $_ld_sock -lresolv ; then - # NOTE: needed for SunOS at least _ld_sock="$_ld_sock -lresolv" _res_comment="using $_ld_sock" - echores "yes" -else - _res_comment="trying inet_aton next" - echores "no" + inet_pton=yes + def_inet_pton='#define HAVE_INET_PTON 1' +fi +echores "$inet_pton" echocheck "inet_aton()" +def_inet_aton='#define HAVE_INET_ATON 0' +inet_aton=no cat > $TMPC << EOF #include #include #include int main(void) { (void) inet_aton(0, 0); return 0; } EOF - _use_aton=yes if cc_check $_ld_sock ; then # NOTE: Linux has libresolv but does not need it - : test $_ld_sock && _res_comment="using $_ld_sock" + def_inet_aton='#define HAVE_INET_ATON 1' + inet_aton=yes elif cc_check $_ld_sock -lresolv ; then - # NOTE: needed for SunOS at least _ld_sock="$_ld_sock -lresolv" _res_comment="using $_ld_sock" - else - _use_aton=no - _network=no - _res_comment="network support disabled" + def_inet_aton='#define HAVE_INET_ATON 1' + inet_aton=yes fi - echores "$_use_aton" -fi - -_def_inet_aton='#define HAVE_INET_ATON 0' -if test "$_use_aton" = yes; then - _def_inet_aton='#define HAVE_INET_ATON 1' -fi +echores "$inet_aton" echocheck "socklen_t" @@ -3003,7 +2993,8 @@ echores "$_closesocket" echocheck "network" -# FIXME network check +test $_winsock2_h = no && test $inet_pton = no && + test $inet_aton = no && _network=no if test "$_network" = yes ; then _def_network='#define CONFIG_NETWORK 1' _ld_extra="$_ld_extra $_ld_sock" @@ -8483,7 +8474,8 @@ $_def_fribidi $_def_closesocket $_def_ftp $_def_inet6 -$_def_inet_aton +$def_inet_aton +$def_inet_pton $_def_live $_def_nemesi $_def_network diff --git a/stream/librtsp/rtsp_rtp.c b/stream/librtsp/rtsp_rtp.c index 0d84480a6b..54a2180375 100644 --- a/stream/librtsp/rtsp_rtp.c +++ b/stream/librtsp/rtsp_rtp.c @@ -297,13 +297,11 @@ rtp_connect (char *hostname, int port) if (!hostname || !strcmp (hostname, "0.0.0.0")) sin.sin_addr.s_addr = htonl (INADDR_ANY); else -#if !HAVE_WINSOCK2_H -#if HAVE_INET_ATON - inet_aton (hostname, &sin.sin_addr); -#else +#if HAVE_INET_PTON inet_pton (AF_INET, hostname, &sin.sin_addr); -#endif -#else +#elif HAVE_INET_ATON + inet_aton (hostname, &sin.sin_addr); +#elif HAVE_WINSOCK2_H sin.sin_addr.s_addr = htonl (INADDR_ANY); #endif sin.sin_port = htons (port); @@ -386,13 +384,11 @@ is_multicast_address (char *addr) sin.sin_family = AF_INET; -#if !HAVE_WINSOCK2_H -#if HAVE_INET_ATON - inet_aton (addr, &sin.sin_addr); -#else +#if HAVE_INET_PTON inet_pton (AF_INET, addr, &sin.sin_addr); -#endif -#else +#elif HAVE_INET_ATON + inet_aton (addr, &sin.sin_addr); +#elif HAVE_WINSOCK2_H sin.sin_addr.s_addr = htonl (INADDR_ANY); #endif diff --git a/stream/tcp.c b/stream/tcp.c index 2cabc5e036..ac3165b1a7 100644 --- a/stream/tcp.c +++ b/stream/tcp.c @@ -115,13 +115,11 @@ connect2Server_with_af(char *host, int port, int af,int verb) { memset(&server_address, 0, sizeof(server_address)); -#if !HAVE_WINSOCK2_H -#if HAVE_INET_ATON - if (inet_aton(host, our_s_addr)!=1) -#else +#if HAVE_INET_PTON if (inet_pton(af, host, our_s_addr)!=1) -#endif -#else +#elif HAVE_INET_ATON + if (inet_aton(host, our_s_addr)!=1) +#elif HAVE_WINSOCK2_H if ( inet_addr(host)==INADDR_NONE ) #endif { diff --git a/stream/udp.c b/stream/udp.c index 3731859655..84769ce403 100644 --- a/stream/udp.c +++ b/stream/udp.c @@ -91,15 +91,13 @@ udp_open_socket (URL_t *url) } else { -#if !HAVE_WINSOCK2_H -#if HAVE_INET_ATON - inet_aton (url->hostname, &server_address.sin_addr); -#else +#if HAVE_INET_PTON inet_pton (AF_INET, url->hostname, &server_address.sin_addr); -#endif /* HAVE_INET_ATON */ -#else +#elif HAVE_INET_ATON + inet_aton (url->hostname, &server_address.sin_addr); +#elif !HAVE_WINSOCK2_H server_address.sin_addr.s_addr = htonl(INADDR_ANY); -#endif /* HAVE_WINSOCK2_H */ +#endif } server_address.sin_family = AF_INET; server_address.sin_port = htons (url->port); -- cgit v1.2.3