[kaffe] CVS kaffe (guilhem): Network fixes + bootstrap extra files removed.

Kaffe CVS cvs-commits at kaffe.org
Fri Sep 5 10:59:02 PDT 2003


PatchSet 4020 
Date: 2003/09/05 17:56:52
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Network fixes + bootstrap extra files removed.

See ChangeLog.

Members: 
	ChangeLog:1.1616->1.1617 
	libraries/clib/net/InetAddressImpl.c:1.17->1.18 
	libraries/clib/net/NetworkInterface.c:1.4->1.5 
	libraries/javalib/Klasses.jar.bootstrap:1.36->1.37 
	libraries/javalib/bootstrap.classlist:1.29->1.30 
	libraries/javalib/java/net/InetAddress.java:1.15->1.16 
	libraries/javalib/java/net/InetSocketAddress.java:1.5->1.6 
	libraries/javalib/java/net/NetworkInterface.java:1.3->1.4 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1616 kaffe/ChangeLog:1.1617
--- kaffe/ChangeLog:1.1616	Fri Sep  5 17:35:28 2003
+++ kaffe/ChangeLog	Fri Sep  5 17:56:52 2003
@@ -1,3 +1,28 @@
+2003-09-05  Guilhem Lavaux <guilhem at kaffe.org>
+
+	* libraries/javalib/java/net/InetSocketAddress.java:
+	Imported from classpath + fix.
+	(toString, equals) use hostname instead of addr if addr is null
+
+	* libraries/javalib/java/net/InetAddress.java:
+	(<clinit>) initialize ANY_IF with "" if it can't retrieve it from
+	the system.
+	(getInaddrAny) same thing for the returned any address.
+
+	* libraries/clib/net/NetworkInterfaceImpl.c:
+	(java_net_NetworkInterface_getRealNetworkInterfaces) builds a
+	hashtable as was previously done in kaffe.
+
+	* libraries/javalib/java/net/NetworkInterface.java:
+	(getRealNetworkInterface) return a Hashtable instead of a Vector
+	(getByName, getByInetAddress, getNetworkInterfaces) Use a hashtable
+	instead of a vector for the return value of getRealNetworkInterface.
+
+	* libraries/javalib/bootstrap.classlist: Deleted File$DeleteExitHook
+	and NetworkInterfaceImpl.
+
+	* libraries/javalib/Klasses.jar.bootstrap: regenerated.
+
 2003-09-05  Dalibor Topic <robilad at kaffe.org>
 
 	* libraries/clib/math/BigInteger.c:
Index: kaffe/libraries/clib/net/InetAddressImpl.c
diff -u kaffe/libraries/clib/net/InetAddressImpl.c:1.17 kaffe/libraries/clib/net/InetAddressImpl.c:1.18
--- kaffe/libraries/clib/net/InetAddressImpl.c:1.17	Sat Aug 30 14:18:25 2003
+++ kaffe/libraries/clib/net/InetAddressImpl.c	Fri Sep  5 17:56:53 2003
@@ -130,8 +130,9 @@
   int iLockRoot;
   errorInfo einfo;
   char *name;
-	
+
   name = checkPtr(stringJava2C(jStr));
+	
   memset(&hints, 0, sizeof(hints));
   hints.ai_socktype = SOCK_STREAM;
   hints.ai_protocol = IPPROTO_TCP;
Index: kaffe/libraries/clib/net/NetworkInterface.c
diff -u kaffe/libraries/clib/net/NetworkInterface.c:1.4 kaffe/libraries/clib/net/NetworkInterface.c:1.5
--- kaffe/libraries/clib/net/NetworkInterface.c:1.4	Tue Sep  2 00:54:00 2003
+++ kaffe/libraries/clib/net/NetworkInterface.c	Fri Sep  5 17:56:53 2003
@@ -21,7 +21,6 @@
 #include "config-hacks.h"
 #include <native.h>
 #include "java_net_NetworkInterface.h"
-#include "java_util_Vector.h"
 #include "nets.h"
 #include <arpa/inet.h>
 #include <jsyscall.h>
@@ -120,15 +119,15 @@
   return( retval );
 }
 
-struct Hjava_util_Vector*
+struct Hjava_util_Hashtable*
 java_net_NetworkInterface_getRealNetworkInterfaces(void)
 {
-  struct Hjava_util_Vector* vector;
+  struct Hjava_util_Hashtable* hashtable;
   struct ifaddrs* addrs;
   struct ifaddrs* ifa; 
 
-  vector =
-    (struct Hjava_util_Vector*)execute_java_constructor("java/util/Vector", 0, 0, "()V");
+  hashtable =
+    (struct Hjava_util_Hashtable*)execute_java_constructor("java/util/Hashtable", 0, 0, "()V");
   
   ifa = addrs = detectInterfaces();
   while (ifa != NULL)
@@ -140,15 +139,21 @@
       addr = getInetAddress(ifa);
 
       if (addr != NULL)
-	do_execute_java_method
-	  (vector, "add", "(Ljava/lang/Object;)Z", 0, 0,
-	   execute_java_constructor("java/net/NetworkInterface", 0, 0,
+	{
+	  if (do_execute_java_method(hashtable, "get", "(Ljava/lang/Object;)Ljava/lang/Object;",
+				     0, 0, iface_name).l == NULL)
+	    {
+	      do_execute_java_method
+		(hashtable, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", 0, 0,
+		 iface_name,
+		 execute_java_constructor("java/net/NetworkInterface", 0, 0,
 		   "(Ljava/lang/String;Ljava/net/InetAddress;)V",
 		    iface_name, addr));
-      
+	    }
+	}
       ifa = ifa->ifa_next;
     }
 
   freeInterfaces(addrs);
-  return vector;
+  return hashtable;
 }
Index: kaffe/libraries/javalib/Klasses.jar.bootstrap
cvs rdiff: failed to read diff file header /tmp/cvsVJHlRz for Klasses.jar.bootstrap,v: end of file
system command returned non-zero exit status: 1: aborting




More information about the kaffe mailing list