summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c
diff options
context:
space:
mode:
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.c21
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;
OpenPOWER on IntegriCloud