Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > b5e52bbfb4bb11a6cbed452927fba979 > files > 85

gcc-4.1.2-50.el5.src.rpm

2008-01-21  Luciano Chavez  <lnx1138@us.ibm.com>

	PR libgcj/34369:
	* java/net/URI.java (relativize): Check initial segment for
	trailing "/".

--- libjava/classpath/java/net/URI.java	(revision 131700)
+++ libjava/classpath/java/net/URI.java	(revision 131701)
@@ -968,12 +968,18 @@ public final class URI 
       return uri;
     if (rawAuthority != null && !(rawAuthority.equals(uri.getRawAuthority())))
       return uri;
-    if (!(uri.getRawPath().startsWith(rawPath)))
-      return uri;
+    String basePath = rawPath;
+    if (!(uri.getRawPath().equals(rawPath)))
+      {
+	if (!(basePath.endsWith("/")))
+	  basePath = basePath.concat("/");
+	if (!(uri.getRawPath().startsWith(basePath)))
+	  return uri;
+      }
     try
       {
 	return new URI(null, null, 
-		       uri.getRawPath().substring(rawPath.length()),
+		       uri.getRawPath().substring(basePath.length()),
 		       uri.getRawQuery(), uri.getRawFragment());
       }
     catch (URISyntaxException e)