From 97b392cf0992bbee591fa7e17770badb141b8643 Mon Sep 17 00:00:00 2001 From: jfrijters Date: Thu, 6 Jan 2011 17:04:58 +0000 Subject: Unspecified scope id should be -1 in Java, not 0. --- openjdk/java/net/TwoStacksPlainSocketImpl_c.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'openjdk/java/net/TwoStacksPlainSocketImpl_c.java') diff --git a/openjdk/java/net/TwoStacksPlainSocketImpl_c.java b/openjdk/java/net/TwoStacksPlainSocketImpl_c.java index 4764acfc..38235264 100644 --- a/openjdk/java/net/TwoStacksPlainSocketImpl_c.java +++ b/openjdk/java/net/TwoStacksPlainSocketImpl_c.java @@ -710,7 +710,9 @@ static void socketAccept(JNIEnv env, TwoStacksPlainSocketImpl _this, SocketImpl } else { /* AF_INET6 -> Inet6Address */ - socketAddressObj = new Inet6Address(null, him.him6.sin6_addr, him.him6.sin6_scope_id); + // [IKVM] We need to convert scope_id 0 to -1 here, because for sin6_scope_id 0 means unspecified, whereas Java uses -1 + int scopeId = him.him6.sin6_scope_id; + socketAddressObj = new Inet6Address(null, him.him6.sin6_addr, scopeId == 0 ? -1 : scopeId); } /* fields common to AF_INET and AF_INET6 */ -- cgit v1.2.3