re PR libgcj/4481 (java.io.File.getParent not working properly)
authorTom Tromey <tromey@redhat.com>
Mon, 8 Oct 2001 20:42:13 +0000 (20:42 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Mon, 8 Oct 2001 20:42:13 +0000 (20:42 +0000)
Fix for PR libgcj/4481:
* java/io/File.java (getParent): Handle case where path is "/".
(normalizePath): Use correct string for UNC leader.

From-SVN: r46093

libjava/ChangeLog
libjava/java/io/File.java

index b79cb4936080f52b36554f2b9c0123ba5538d503..af67c16b8a4497e21303b3634fee89360ece0257 100644 (file)
@@ -1,3 +1,9 @@
+2001-10-08  Tom Tromey  <tromey@redhat.com>
+
+       Fix for PR libgcj/4481:
+       * java/io/File.java (getParent): Handle case where path is "/".
+       (normalizePath): Use correct string for UNC leader.
+
 2001-10-06  Mark Wielaard  <mark@klomp.org>
 
        * java/io/BufferedInputStream.java: Merge with Classpath
index 858f2b37caea9372c0c672f1608523fd8127c3c9..a268278fd3e369da06bb3c87ca7bb6b0250431af 100644 (file)
@@ -84,9 +84,9 @@ public class File implements Serializable, Comparable
   {
     int dupIndex = p.indexOf(dupSeparator);
     int plen = p.length();
-    
+
     // Special case: permit Windows UNC path prefix.
-    if (dupSeparator.equals("\\") && dupIndex == 0)
+    if (dupSeparator.equals("\\\\") && dupIndex == 0)
       dupIndex = p.indexOf(dupSeparator, 1);
 
     if (dupIndex == -1)
@@ -181,6 +181,9 @@ public class File implements Serializable, Comparable
     int last = path.lastIndexOf(separatorChar);
     if (last == -1)
       return null;
+    // FIXME: POSIX assumption.
+    if (last == 0 && path.charAt (0) == '/')
+      ++last;
     return path.substring(0, last);
   }