CVSROOT: /cvsroot/classpath Module name: classpath Branch: NATIVE-LAYER Changes by: Guilhem Lavaux <glavaux> 06/06/10 20:26:36
Modified files: . : ChangeLog.native native/jni/native-lib: cpio.c cpnet.c cpnet.h Log message: 2006-06-10 Guilhem Lavaux <[EMAIL PROTECTED]> * native/jni/native-lib/cpio.c (cpio_openDir, cpio_closeDir, cpio_readDir): Implemented. * native/jni/native-lib/cpnet.h: (cpnet_bytesToIPV4Address): Fixed type casting to avoid being messed by signs in jbyte. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/ChangeLog.native?cvsroot=classpath&only_with_tag=NATIVE-LAYER&r1=1.1.2.11&r2=1.1.2.12 http://cvs.savannah.gnu.org/viewcvs/classpath/native/jni/native-lib/cpio.c?cvsroot=classpath&only_with_tag=NATIVE-LAYER&r1=1.1.2.3&r2=1.1.2.4 http://cvs.savannah.gnu.org/viewcvs/classpath/native/jni/native-lib/cpnet.c?cvsroot=classpath&only_with_tag=NATIVE-LAYER&r1=1.1.2.4&r2=1.1.2.5 http://cvs.savannah.gnu.org/viewcvs/classpath/native/jni/native-lib/cpnet.h?cvsroot=classpath&only_with_tag=NATIVE-LAYER&r1=1.1.2.5&r2=1.1.2.6 Patches: Index: ChangeLog.native =================================================================== RCS file: /cvsroot/classpath/classpath/Attic/ChangeLog.native,v retrieving revision 1.1.2.11 retrieving revision 1.1.2.12 diff -u -b -r1.1.2.11 -r1.1.2.12 --- ChangeLog.native 8 Jun 2006 20:19:55 -0000 1.1.2.11 +++ ChangeLog.native 10 Jun 2006 20:26:36 -0000 1.1.2.12 @@ -1,3 +1,12 @@ +2006-06-10 Guilhem Lavaux <[EMAIL PROTECTED]> + + * native/jni/native-lib/cpio.c + (cpio_openDir, cpio_closeDir, cpio_readDir): Implemented. + + * native/jni/native-lib/cpnet.h: + (cpnet_bytesToIPV4Address): Fixed type casting to avoid being + messed by signs in jbyte. + 2006-06-07 Guilhem Lavaux <[EMAIL PROTECTED]> * Merged HEAD as of 2006-06-06. Index: native/jni/native-lib/cpio.c =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/native-lib/Attic/cpio.c,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -u -b -r1.1.2.3 -r1.1.2.4 --- native/jni/native-lib/cpio.c 25 Mar 2006 17:08:50 -0000 1.1.2.3 +++ native/jni/native-lib/cpio.c 10 Jun 2006 20:26:36 -0000 1.1.2.4 @@ -43,6 +43,7 @@ #include <errno.h> #include <string.h> #include <sys/types.h> +#include <dirent.h> #include <jni.h> @@ -419,3 +420,30 @@ return 0; } +int cpio_openDir (const char *dirname, void **handle) +{ + *handle = (void *)opendir(dirname); + if (*handle == NULL) + return errno; + + return 0; +} + +int cpio_closeDir (void *handle) +{ + closedir((DIR *)handle); + return 0; +} + + +int cpio_readDir (void *handle, const char **filename) +{ + struct dirent *dBuf; + + dBuf = readdir((DIR *)handle); + if (dBuf == NULL) + return errno; + + *filename = dBuf->d_name; + return 0; +} Index: native/jni/native-lib/cpnet.c =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/native-lib/Attic/cpnet.c,v retrieving revision 1.1.2.4 retrieving revision 1.1.2.5 diff -u -b -r1.1.2.4 -r1.1.2.5 --- native/jni/native-lib/cpnet.c 10 May 2006 07:08:25 -0000 1.1.2.4 +++ native/jni/native-lib/cpnet.c 10 Jun 2006 20:26:36 -0000 1.1.2.5 @@ -180,6 +180,8 @@ int ret; /* TODO: implement socket time out */ + struct sockaddr_in *theaddr = (struct sockaddr_in *)addr->data; + ret = connect(fd, (struct sockaddr *)addr->data, addr->len); if (ret != 0) return errno; Index: native/jni/native-lib/cpnet.h =================================================================== RCS file: /cvsroot/classpath/classpath/native/jni/native-lib/Attic/cpnet.h,v retrieving revision 1.1.2.5 retrieving revision 1.1.2.6 diff -u -b -r1.1.2.5 -r1.1.2.6 --- native/jni/native-lib/cpnet.h 19 Feb 2006 17:10:27 -0000 1.1.2.5 +++ native/jni/native-lib/cpnet.h 10 Jun 2006 20:26:36 -0000 1.1.2.6 @@ -189,10 +189,10 @@ jint sysaddr; struct sockaddr_in *ipaddr = (struct sockaddr_in *)&(netaddr->data[0]); - sysaddr = ((jint)octets[0]) << 24; - sysaddr |= ((jint)octets[1]) << 16; - sysaddr |= ((jint)octets[2]) << 8; - sysaddr |= ((jint)octets[3]); + sysaddr = ((jint)(unsigned char)octets[0]) << 24; + sysaddr |= ((jint)(unsigned char)octets[1]) << 16; + sysaddr |= ((jint)(unsigned char)octets[2]) << 8; + sysaddr |= ((jint)(unsigned char)octets[3]); ipaddr->sin_addr.s_addr = htonl(sysaddr); }