Commit c09bade6 by Mohan Embar Committed by Mohan Embar

URLStreamHandler.java (parseURL): Canonicalize file portion of URL in addition…

URLStreamHandler.java (parseURL): Canonicalize file portion of URL in addition to spec for file: protocol.

	* java/net/URLStreamHandler.java (parseURL): Canonicalize
	file portion of URL in addition to spec for file: protocol.

From-SVN: r84157
parent 88a2ae20
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.
......
/* 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 += '/';
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment