equal
deleted
inserted
replaced
409 SOCKETADDRESS him; |
409 SOCKETADDRESS him; |
410 |
410 |
411 fdObj = (*env)->GetObjectField(env, this, psi_fdID); |
411 fdObj = (*env)->GetObjectField(env, this, psi_fdID); |
412 fd1Obj = (*env)->GetObjectField(env, this, psi_fd1ID); |
412 fd1Obj = (*env)->GetObjectField(env, this, psi_fd1ID); |
413 |
413 |
414 family = (*env)->GetIntField(env, iaObj, ia_familyID); |
414 family = getInetAddress_family(env, iaObj); |
415 |
415 |
416 if (family == IPv6 && !ipv6_supported) { |
416 if (family == IPv6 && !ipv6_supported) { |
417 JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", |
417 JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", |
418 "Protocol family not supported"); |
418 "Protocol family not supported"); |
419 return; |
419 return; |
722 */ |
722 */ |
723 NET_SocketClose(fd); |
723 NET_SocketClose(fd); |
724 return; |
724 return; |
725 } |
725 } |
726 |
726 |
727 (*env)->SetIntField(env, socketAddressObj, ia_addressID, |
727 setInetAddress_addr(env, socketAddressObj, ntohl(him.him4.sin_addr.s_addr)); |
728 ntohl(him.him4.sin_addr.s_addr)); |
728 setInetAddress_family(env, socketAddressObj, IPv4); |
729 (*env)->SetIntField(env, socketAddressObj, ia_familyID, IPv4); |
|
730 (*env)->SetObjectField(env, socket, psi_addressID, socketAddressObj); |
729 (*env)->SetObjectField(env, socket, psi_addressID, socketAddressObj); |
731 } else { |
730 } else { |
732 jbyteArray addr; |
731 jbyteArray addr; |
733 /* AF_INET6 -> Inet6Address */ |
732 /* AF_INET6 -> Inet6Address */ |
734 if (inet6Cls == 0) { |
733 if (inet6Cls == 0) { |
752 NET_SocketClose(fd); |
751 NET_SocketClose(fd); |
753 return; |
752 return; |
754 } |
753 } |
755 addr = (*env)->GetObjectField (env, socketAddressObj, ia6_ipaddressID); |
754 addr = (*env)->GetObjectField (env, socketAddressObj, ia6_ipaddressID); |
756 (*env)->SetByteArrayRegion (env, addr, 0, 16, (const char *)&him.him6.sin6_addr); |
755 (*env)->SetByteArrayRegion (env, addr, 0, 16, (const char *)&him.him6.sin6_addr); |
757 (*env)->SetIntField(env, socketAddressObj, ia_familyID, IPv6); |
756 setInetAddress_family(env, socketAddressObj, IPv6); |
758 scope = him.him6.sin6_scope_id; |
757 scope = him.him6.sin6_scope_id; |
759 (*env)->SetIntField(env, socketAddressObj, ia6_scopeidID, scope); |
758 (*env)->SetIntField(env, socketAddressObj, ia6_scopeidID, scope); |
760 if(scope>0) { |
759 if(scope>0) { |
761 (*env)->SetBooleanField(env, socketAddressObj, ia6_scopeidsetID, JNI_TRUE); |
760 (*env)->SetBooleanField(env, socketAddressObj, ia6_scopeidsetID, JNI_TRUE); |
762 } |
761 } |