# HG changeset patch # User bertrand # Date 1030604832 0 # Node ID 2c34499ef4af0b371aa144e348dade548ea3e94c # Parent 75ff2ec3b0863b16e75e3321e94471b4e75c7b41 inet_aton fallback support by Joey Parrish diff -r 75ff2ec3b086 -r 2c34499ef4af configure --- 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 @@ -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 +#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 + : + 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 diff -r 75ff2ec3b086 -r 2c34499ef4af libmpdemux/network.h --- 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 : + * + * 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