diff options
author | Guilhem Lavaux <guilhem@kaffe.org> | 2006-06-16 18:07:47 +0000 |
---|---|---|
committer | Guilhem Lavaux <guilhem@kaffe.org> | 2006-06-16 18:07:47 +0000 |
commit | cf7a1bcdc5948bada2d0a6bb2a860c248d82c233 (patch) | |
tree | 5f6a5fe61c031c850b89dd9896e59f2e669e933f /native/jni/native-lib/cpnet.h | |
parent | 935da65ae67c7ff74e5a02c198d6b4bcbaee8133 (diff) | |
download | classpath-cf7a1bcdc5948bada2d0a6bb2a860c248d82c233.tar.gz |
2006-06-16 Guilhem Lavaux <guilhem@kaffe.org>
* native/jni/java-net/java_net_VMInetAddress.c
(Java_java_net_VMInetAddress_getHostByName): Fix detection of
error.
* native/jni/java-net/javanet.c
(_javanet_accept): Fixed bogus call to TARGET.
(_javanet_create_inetaddress): Fixed address generation. Fixed
bogus memory free.
(_javanet_bind): set "Reuse address" flag.
* native/jni/native-lib/cpio.c
(cpio_getModificationTime): Fixed type.
(cpio_removeFile): Use rmdir too.
* native/jni/native-lib/cpnet.c
(cpnet_getHostByName): Fixed error detection.
* native/jni/native-lib/cpnet.h
(cpnet_newIPV4address, cpnet_newIPV6address): Put zero in the
memory.
(cpnet_IPV4AddressToBytes): Fixed types.
Diffstat (limited to 'native/jni/native-lib/cpnet.h')
-rw-r--r-- | native/jni/native-lib/cpnet.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/native/jni/native-lib/cpnet.h b/native/jni/native-lib/cpnet.h index 52f68946e..1b7583a5a 100644 --- a/native/jni/native-lib/cpnet.h +++ b/native/jni/native-lib/cpnet.h @@ -101,8 +101,8 @@ static inline cpnet_address *cpnet_newIPV4Address(JNIEnv * env) struct sockaddr_in *netaddr = (struct sockaddr_in *)&(addr->data[0]); addr->len = sizeof(struct sockaddr_in); + memset(netaddr, 0, addr->len); netaddr->sin_family = AF_INET; - return addr; } @@ -119,6 +119,7 @@ static inline cpnet_address *cpnet_newIPV6Address(JNIEnv * env) struct sockaddr_in6 *netaddr = (struct sockaddr_in6 *)&(addr->data[0]); addr->len = sizeof(struct sockaddr_in6); + memset(netaddr, 0, addr->len); netaddr->sin6_family = AF_INET6; return addr; @@ -176,12 +177,12 @@ static inline jboolean cpnet_isIPV4Address(cpnet_address *addr) static inline void cpnet_IPV4AddressToBytes(cpnet_address *netaddr, jbyte *octets) { struct sockaddr_in *ipaddr = (struct sockaddr_in *)&(netaddr->data[0]); - jint sysaddr = ntohl(ipaddr->sin_addr.s_addr); + unsigned long sysaddr = ntohl(ipaddr->sin_addr.s_addr); - octets[0] = (sysaddr >> 24) & 0xff; - octets[1] = (sysaddr >> 16) & 0xff; - octets[2] = (sysaddr >> 8) & 0xff; - octets[3] = sysaddr & 0xff; + octets[0] = ((sysaddr >> 24) & 0xff); + octets[1] = ((sysaddr >> 16) & 0xff); + octets[2] = ((sysaddr >> 8) & 0xff); + octets[3] = (sysaddr & 0xff); } static inline void cpnet_bytesToIPV4Address(cpnet_address *netaddr, jbyte *octets) |