diff options
Diffstat (limited to 'libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c')
-rw-r--r-- | libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c b/libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c index cdfbe739789..a59604c04af 100644 --- a/libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c +++ b/libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c @@ -69,6 +69,7 @@ exception statement from your version. */ #include "gnu_java_net_VMPlainSocketImpl.h" #define THROW_NO_NETWORK(env) JCL_ThrowException (env, "java/lang/InternalError", "this platform not configured for network support") +#define THROW_NO_IPV6(env) JCL_ThrowException (env, "java/lang/InternalError", "IPv6 support not available") /* * Class: gnu_java_net_VMPlainSocketImpl @@ -120,7 +121,7 @@ Java_gnu_java_net_VMPlainSocketImpl_bind6 (JNIEnv *env, jclass c __attribute__((unused)), jint fd, jbyteArray addr, jint port) { - /* FIXME! Add check if we have IPv6! */ +#ifdef HAVE_INET6 struct sockaddr_in6 sockaddr; jbyte *elems; int ret; @@ -141,6 +142,9 @@ Java_gnu_java_net_VMPlainSocketImpl_bind6 (JNIEnv *env, if (-1 == ret) JCL_ThrowException (env, IO_EXCEPTION, strerror (errno)); +#else + THROW_NO_IPV6(env); +#endif } @@ -442,8 +446,7 @@ Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface6 (JNIEnv *env, #endif /* HAVE_INET6 */ #else (void) fd; - JCL_ThrowException (env, "java/lang/InternalError", - "socket options not supported"); + THROW_NO_IPV6(env); #endif /* HAVE_SETSOCKOPT */ } @@ -582,8 +585,7 @@ Java_gnu_java_net_VMPlainSocketImpl_join6 (JNIEnv *env, #else (void) fd; (void) addr; - JCL_ThrowException (env, "java/lang/InternalError", - "IPv6 support not available"); + THROW_NO_IPV6(env); #endif /* HAVE_INET6 */ #else (void) fd; @@ -657,8 +659,7 @@ Java_gnu_java_net_VMPlainSocketImpl_leave6 (JNIEnv *env, #else (void) fd; (void) addr; - JCL_ThrowException (env, "java/lang/InternalError", - "IPv6 support not available"); + THROW_NO_IPV6(env); #endif /* HAVE_INET6 */ #else (void) fd; @@ -763,8 +764,7 @@ Java_gnu_java_net_VMPlainSocketImpl_joinGroup6 (JNIEnv *env, #else (void) fd; (void) addr; - JCL_ThrowException (env, "java/lang/InternalError", - "IPv6 support not available"); + THROW_NO_IPV6(env); #endif /* HAVE_INET6 */ #else (void) fd; @@ -865,8 +865,7 @@ Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6 (JNIEnv *env, #else (void) fd; (void) addr; - JCL_ThrowException (env, "java/lang/InternalError", - "IPv6 support not available"); + THROW_NO_IPV6(env); #endif /* HAVE_INET6 */ #else (void) fd; |