From 1cc50d31f9962264fd78cdbe6a27dac10742dcd6 Mon Sep 17 00:00:00 2001 From: Gunter Knauf Date: Tue, 30 Dec 2008 08:05:38 +0000 Subject: [PATCH] changed HAVE_SIN6_SCOPE_ID define to HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID since just found that ares already uses this define. --- configure.ac | 6 +++--- lib/Makefile.netware | 2 +- lib/config-os400.h | 2 +- lib/config-riscos.h | 2 +- lib/config-symbian.h | 2 +- lib/config-tpf.h | 2 +- lib/config-win32ce.h | 2 +- lib/connect.c | 2 +- lib/if2ip.c | 4 +++- src/Makefile.netware | 2 +- src/config-riscos.h | 2 +- src/config-win32.h | 2 +- 12 files changed, 16 insertions(+), 14 deletions(-) diff --git a/configure.ac b/configure.ac index 92b295ac4..62712d0d3 100644 --- a/configure.ac +++ b/configure.ac @@ -826,10 +826,10 @@ if test "$ipv6" = yes; then #include ] , struct sockaddr_in6 s; s.sin6_scope_id = 0; , have_sin6_scope_id=yes) if test "$have_sin6_scope_id" = yes; then - AC_MSG_RESULT([yes]) - AC_DEFINE(HAVE_SIN6_SCOPE_ID, 1, [Define to 1 if struct sockaddr_in6 has the sin6_scope_id member]) + AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID, 1, [Define to 1 if struct sockaddr_in6 has the sin6_scope_id member]) else - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) fi fi diff --git a/lib/Makefile.netware b/lib/Makefile.netware index 546086796..658b97996 100644 --- a/lib/Makefile.netware +++ b/lib/Makefile.netware @@ -454,7 +454,7 @@ ifdef ENABLE_IPV6 @echo $(DL)#define ENABLE_IPV6 1$(DL) >> $@ @echo $(DL)#define HAVE_FREEADDRINFO 1$(DL) >> $@ @echo $(DL)#define HAVE_GETADDRINFO 1$(DL) >> $@ - @echo $(DL)#define HAVE_SIN6_SCOPE_ID 1$(DL) >> $@ + @echo $(DL)#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1$(DL) >> $@ endif endif @echo $(DL)#define USE_MANUAL 1$(DL) >> $@ diff --git a/lib/config-os400.h b/lib/config-os400.h index dccf8a869..efb019551 100644 --- a/lib/config-os400.h +++ b/lib/config-os400.h @@ -43,7 +43,7 @@ #define ENABLE_IPV6 /* Define if struct sockaddr_in6 has the sin6_scope_id member */ -#define HAVE_SIN6_SCOPE_ID 1 +#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 /* Define this to 'int' if ssize_t is not an available typedefed type */ #undef ssize_t diff --git a/lib/config-riscos.h b/lib/config-riscos.h index 25097fb0b..e525c6a60 100644 --- a/lib/config-riscos.h +++ b/lib/config-riscos.h @@ -39,7 +39,7 @@ #undef ENABLE_IPV6 /* Define if struct sockaddr_in6 has the sin6_scope_id member */ -#define HAVE_SIN6_SCOPE_ID 1 +#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 /* Define this to 'int' if ssize_t is not an available typedefed type */ #undef ssize_t diff --git a/lib/config-symbian.h b/lib/config-symbian.h index cc9b03cb9..5f8296add 100644 --- a/lib/config-symbian.h +++ b/lib/config-symbian.h @@ -67,7 +67,7 @@ #define ENABLE_IPV6 1 /* Define if struct sockaddr_in6 has the sin6_scope_id member */ -#define HAVE_SIN6_SCOPE_ID 1 +#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 /* Define to the type qualifier of arg 1 for getnameinfo. */ #define GETNAMEINFO_QUAL_ARG1 const diff --git a/lib/config-tpf.h b/lib/config-tpf.h index 8524cda19..107158ca8 100644 --- a/lib/config-tpf.h +++ b/lib/config-tpf.h @@ -63,7 +63,7 @@ /* #undef ENABLE_IPV6 */ /* Define if struct sockaddr_in6 has the sin6_scope_id member */ -/* #undef HAVE_SIN6_SCOPE_ID */ +/* #undef HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID */ /* Define to the type of arg 1 for getnameinfo. */ /* #undef GETNAMEINFO_TYPE_ARG1 */ diff --git a/lib/config-win32ce.h b/lib/config-win32ce.h index 65b00a104..69caa4666 100644 --- a/lib/config-win32ce.h +++ b/lib/config-win32ce.h @@ -324,7 +324,7 @@ #define HAVE_STRUCT_TIMEVAL 1 /* Define this if struct sockaddr_in6 has the sin6_scope_id member */ -#define HAVE_SIN6_SCOPE_ID 1 +#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 /* ---------------------------------------------------------------- */ /* COMPILER SPECIFIC */ diff --git a/lib/connect.c b/lib/connect.c index 569142d3e..47e8681c5 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -769,7 +769,7 @@ singleipconnect(struct connectdata *conn, /* no socket, no connection */ return CURL_SOCKET_BAD; -#ifdef ENABLE_IPV6 +#if defined(ENABLE_IPV6) && defined(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID) if (conn->scope && (addr.family == AF_INET6)) sa6->sin6_scope_id = conn->scope; #endif diff --git a/lib/if2ip.c b/lib/if2ip.c index 74cd5266e..0e74042d2 100644 --- a/lib/if2ip.c +++ b/lib/if2ip.c @@ -86,10 +86,12 @@ char *Curl_if2ip(int af, const char *interface, char *buf, int buf_size) char scope[12]=""; #ifdef ENABLE_IPV6 if (af == AF_INET6) { - unsigned int scopeid; + unsigned int scopeid = 0; addr = &((struct sockaddr_in6 *)iface->ifa_addr)->sin6_addr; +#ifdef HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID /* Include the scope of this interface as part of the address */ scopeid = ((struct sockaddr_in6 *)iface->ifa_addr)->sin6_scope_id; +#endif if (scopeid) snprintf(scope, sizeof(scope), "%%%u", scopeid); } diff --git a/src/Makefile.netware b/src/Makefile.netware index 6be299cf8..1fd503a1f 100644 --- a/src/Makefile.netware +++ b/src/Makefile.netware @@ -442,7 +442,7 @@ ifdef ENABLE_IPV6 @echo $(DL)#define ENABLE_IPV6 1$(DL) >> $@ @echo $(DL)#define HAVE_FREEADDRINFO 1$(DL) >> $@ @echo $(DL)#define HAVE_GETADDRINFO 1$(DL) >> $@ - @echo $(DL)#define HAVE_SIN6_SCOPE_ID 1$(DL) >> $@ + @echo $(DL)#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1$(DL) >> $@ endif endif @echo $(DL)#define USE_MANUAL 1$(DL) >> $@ diff --git a/src/config-riscos.h b/src/config-riscos.h index 0e6b3a19b..72ef674dc 100644 --- a/src/config-riscos.h +++ b/src/config-riscos.h @@ -42,7 +42,7 @@ #undef ENABLE_IPV6 /* Define if struct sockaddr_in6 has the sin6_scope_id member */ -#define HAVE_SIN6_SCOPE_ID 1 +#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 /* Define this to 'int' if ssize_t is not an available typedefed type */ #undef ssize_t diff --git a/src/config-win32.h b/src/config-win32.h index 3b7dc58e8..dfca7b273 100644 --- a/src/config-win32.h +++ b/src/config-win32.h @@ -201,7 +201,7 @@ #define HAVE_STRUCT_TIMEVAL 1 /* Define this if struct sockaddr_in6 has the sin6_scope_id member */ -#define HAVE_SIN6_SCOPE_ID 1 +#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 /* ---------------------------------------------------------------- */ /* Watt-32 tcp/ip SPECIFIC */