Mercurial > hg > openjdk > bsd-port > jdk
changeset 7800:13473046fdfe
7084032: test/java/net/Inet6Address/B6558853.java fails on Windows XP/2003 if IPv6
Reviewed-by: chegar
author | robm |
---|---|
date | Tue, 11 Feb 2014 16:06:59 +0000 |
parents | 8e2b4808a068 |
children | 3edb49b50486 |
files | src/windows/native/java/net/TwoStacksPlainSocketImpl.c |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/windows/native/java/net/TwoStacksPlainSocketImpl.c Fri Feb 07 16:00:49 2014 +0400 +++ b/src/windows/native/java/net/TwoStacksPlainSocketImpl.c Tue Feb 11 16:06:59 2014 +0000 @@ -576,6 +576,7 @@ { /* fields on this */ jint port; + jint scope; jint timeout = (*env)->GetIntField(env, this, psi_timeoutID); jobject fdObj = (*env)->GetObjectField(env, this, psi_fdID); jobject fd1Obj = (*env)->GetObjectField(env, this, psi_fd1ID); @@ -751,9 +752,12 @@ return; } setInet6Address_ipaddress(env, socketAddressObj, (const char *)&him.him6.sin6_addr); - setInetAddress_family(env, socketAddressObj, IPv6); - setInet6Address_scopeid(env, socketAddressObj, him.him6.sin6_scope_id); + scope = him.him6.sin6_scope_id; + (*env)->SetIntField(env, socketAddressObj, ia6_scopeidID, scope); + if(scope>0) { + (*env)->SetBooleanField(env, socketAddressObj, ia6_scopeidsetID, JNI_TRUE); + } } /* fields common to AF_INET and AF_INET6 */