Mercurial > mplayer.hg
changeset 7135:2c34499ef4af
inet_aton fallback support by Joey Parrish <joey@yunamusic.com>
author | bertrand |
---|---|
date | Thu, 29 Aug 2002 07:07:12 +0000 |
parents | 75ff2ec3b086 |
children | 122efc309784 |
files | configure libmpdemux/network.h |
diffstat | 2 files changed, 47 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/configure Thu Aug 29 02:20:00 2002 +0000 +++ b/configure Thu Aug 29 07:07:12 2002 +0000 @@ -1553,6 +1553,7 @@ fi +_use_aton=no echocheck "inet_pton()" cat > $TMPC << EOF #include <sys/types.h> @@ -1569,10 +1570,35 @@ _ld_sock="$_ld_sock -lresolv" echores "yes (using $_ld_sock)" else - echores "no (=> streaming support disabled)" - _streaming=no -fi - + echores "no (=> i'll try inet_aton next)" + + echocheck "inet_aton()" + cat > $TMPC << EOF +#include <sys/types.h> +#include <sys/socket.h> +#include <arpa/inet.h> +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 + : + echores "yes (using $_ld_sock)" + elif cc_check $_ld_sock -lresolv ; then + # NOTE: needed for SunOS at least + _ld_sock="$_ld_sock -lresolv" + echores "yes (using $_ld_sock)" + else + _use_aton=no + _streaming=no + echores "no (=> streaming support disabled)" + fi +fi + +_def_use_aton='#undef USE_ATON' +if test "$_use_aton" != no; then + _def_use_aton='#define USE_ATON 1' +fi echocheck "inttypes.h (required)" cat > $TMPC << EOF @@ -4653,6 +4679,9 @@ /* enable streaming */ $_def_streaming +/* define this to use inet_aton() instead of inet_pton() */ +$_def_use_aton + /* enables / disables cdparanoia support */ $_def_cdparanoia
--- a/libmpdemux/network.h Thu Aug 29 02:20:00 2002 +0000 +++ b/libmpdemux/network.h Thu Aug 29 07:07:12 2002 +0000 @@ -52,4 +52,18 @@ int http_send_request(URL_t *url); HTTP_header_t *http_read_response(int fd); +/* + * Joey Parrish <joey@yunamusic.com>: + * + * This define is to allow systems without inet_pton() to fallback on + * inet_aton(). The difference between the two is that inet_aton() is + * strictly for IPv4 networking, while inet_pton() is for IPv4 and IPv6 + * both. Slightly limited network functionality seems better than no + * network functionality to me, and as all systems (Cygwin) start to + * implement inet_pton(), configure will decide not to use this code. + */ +#ifdef USE_ATON +# define inet_pton(a, b, c) inet_aton(b, c) #endif + +#endif