summaryrefslogtreecommitdiff
path: root/native/jni/native-lib/cpnet.h
diff options
context:
space:
mode:
authorGuilhem Lavaux <guilhem@kaffe.org>2006-06-16 18:07:47 +0000
committerGuilhem Lavaux <guilhem@kaffe.org>2006-06-16 18:07:47 +0000
commitcf7a1bcdc5948bada2d0a6bb2a860c248d82c233 (patch)
tree5f6a5fe61c031c850b89dd9896e59f2e669e933f /native/jni/native-lib/cpnet.h
parent935da65ae67c7ff74e5a02c198d6b4bcbaee8133 (diff)
downloadclasspath-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.h13
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)