[kaffe] CVS kaffe (guilhem): Fixed URL context handling.

Kaffe CVS Kaffe Mailing List <kaffe@kaffe.org>
Wed Dec 31 01:12:02 2003


PatchSet 4248 
Date: 2003/12/31 09:09:36
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Fixed URL context handling.

Members: 
	ChangeLog:1.1835->1.1836 
	libraries/javalib/java/net/URL.java:1.36->1.37 
	libraries/javalib/java/net/URLStreamHandler.java:1.14->1.15 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1835 kaffe/ChangeLog:1.1836
--- kaffe/ChangeLog:1.1835	Tue Dec 30 18:22:59 2003
+++ kaffe/ChangeLog	Wed Dec 31 09:09:36 2003
@@ -1,3 +1,9 @@
+2003-12-31  Guilhem Lavaux <guilhem@kaffe.org>
+
+	* libraries/javalib/java/net/URL.java,
+	libraries/javalib/java/net/URLStreamHandler.java:
+	Fixed handling of URL given relative to a context URL.
+
 2003-12-30  Guilhem Lavaux <guilhem@kaffe.org>
 
 	* tests/regression/BufferedReaderTest.java: Removed too strict
Index: kaffe/libraries/javalib/java/net/URL.java
diff -u kaffe/libraries/javalib/java/net/URL.java:1.36 kaffe/libraries/javalib/java/net/URL.java:1.37
--- kaffe/libraries/javalib/java/net/URL.java:1.36	Sat Dec 27 21:15:58 2003
+++ kaffe/libraries/javalib/java/net/URL.java	Wed Dec 31 09:09:38 2003
@@ -396,6 +396,8 @@
 	    host = context.host;
 	    port = context.port;
 	    file = context.file;
+	    if (file == null || file.length() == 0)
+	      file = "/";
 	    authority = context.authority;
 	  }
       }
@@ -408,6 +410,8 @@
 	host = context.host;
 	port = context.port;
 	file = context.file;
+	if (file == null || file.length() == 0)
+	  file = "/";
         authority = context.authority;
       }
     else	// Protocol NOT specified in spec. and no context available.
Index: kaffe/libraries/javalib/java/net/URLStreamHandler.java
diff -u kaffe/libraries/javalib/java/net/URLStreamHandler.java:1.14 kaffe/libraries/javalib/java/net/URLStreamHandler.java:1.15
--- kaffe/libraries/javalib/java/net/URLStreamHandler.java:1.14	Sat Dec 27 21:15:58 2003
+++ kaffe/libraries/javalib/java/net/URLStreamHandler.java	Wed Dec 31 09:09:38 2003
@@ -126,7 +126,7 @@
     int port = url.getPort();
     String file = url.getFile();
     String ref = url.getRef();
-    
+
     if (spec.regionMatches (start, "//", 0, 2))
       {
 	String genuineHost;
@@ -186,8 +186,6 @@
 	// No file context available; just spec for file.
 	// Or this is an absolute path name; ignore any file context.
 	file = spec.substring(start, end);
-	if (start < end && spec.charAt(start) != '/')
-	  file = "/" + file;
 	ref = null;
       } 
     else if (start < end)