diff options
author | membar <membar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-06 16:27:26 +0000 |
---|---|---|
committer | membar <membar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-06 16:27:26 +0000 |
commit | 28e68df35f9dd1c423978679895770200ca7ba26 (patch) | |
tree | 5470bbac1f5bdbf5ff02d578049d2e0d497d7c6c | |
parent | 9129db5baf8caea33645e50eb0debd96582bacda (diff) | |
download | ppe42-gcc-28e68df35f9dd1c423978679895770200ca7ba26.tar.gz ppe42-gcc-28e68df35f9dd1c423978679895770200ca7ba26.zip |
* java/net/URLStreamHandler.java (parseURL): Canonicalize
file portion of URL in addition to spec for file: protocol.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84157 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/net/URLStreamHandler.java | 12 |
2 files changed, 13 insertions, 4 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 66f3f41a1d7..8299b732c5b 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2004-07-06 Mohan Embar <gnustuff@thisiscool.com> + + * java/net/URLStreamHandler.java (parseURL): Canonicalize + file portion of URL in addition to spec for file: protocol. + 2004-07-05 Anthony Green <green@redhat.com> * java/io/File.java (toURI): Merge from Classpath. diff --git a/libjava/java/net/URLStreamHandler.java b/libjava/java/net/URLStreamHandler.java index d224ff556e9..5fef7ea909e 100644 --- a/libjava/java/net/URLStreamHandler.java +++ b/libjava/java/net/URLStreamHandler.java @@ -1,5 +1,5 @@ /* URLStreamHandler.java -- Abstract superclass for all protocol handlers - Copyright (C) 1998, 1999, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -131,8 +131,12 @@ public abstract class URLStreamHandler String query = null; // On Windows we need to change \ to / for file URLs - if (url.getProtocol().equals("file")) - spec = spec.replace(File.separatorChar, '/'); + char separator = File.separatorChar; + if (url.getProtocol().equals("file") && separator != '/') + { + file = file.replace(separator, '/'); + spec = spec.replace(separator, '/'); + } if (spec.regionMatches(start, "//", 0, 2)) { @@ -216,7 +220,7 @@ public abstract class URLStreamHandler { boolean endsWithSlash = file.charAt(file.length() - 1) == '/'; file = new File(file).getCanonicalPath(); - file = file.replace(File.separatorChar, '/'); + file = file.replace(separator, '/'); if (endsWithSlash && file.charAt(file.length() - 1) != '/') file += '/'; } |