From d03da085bc50e83dbbf4ec4e29fdf17fa9973e6e Mon Sep 17 00:00:00 2001 From: tromey Date: Sat, 1 Mar 2003 23:38:13 +0000 Subject: 2003-03-01 Ranjit Mathew * java/io/File (getAbsolutePath): Prefix drive specifier on Windows for paths starting with a '\'. (toURL): Make URL more consistent with what Sun's JDK returns. * java/io/natFileWin32.cc (java::io::File::isAbsolute): Return true only if the path is a UNC network path or it starts with a drive specifier. * java/net/URLStreamHandler.java (parseURL): Correct minor typo. Be prepared to handle either '/' or '\\' in the file path for Windows if using the "file" protocol. Canonicalise the file path if using a relative path in the given context and the "file" protocol. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63635 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/io/natFileWin32.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'libjava/java/io/natFileWin32.cc') diff --git a/libjava/java/io/natFileWin32.cc b/libjava/java/io/natFileWin32.cc index 5245feb5a1e..9029881e165 100644 --- a/libjava/java/io/natFileWin32.cc +++ b/libjava/java/io/natFileWin32.cc @@ -119,9 +119,14 @@ java::io::File::getCanonicalPath (void) jboolean java::io::File::isAbsolute (void) { - if (path->length() > 0 - && (path->charAt(0) == '/' || path->charAt(0) == '\\')) + // See if the path represents a Windows UNC network path. + if (path->length () > 1 + && (path->charAt (0) == '\\') && (path->charAt (1) == '\\')) return true; + + // Note that the path is not an absolute path even if it starts with + // a '/' or a '\' because it lacks a drive specifier. + if (path->length() < 3) return false; // Hard-code A-Za-z because Windows (I think) can't use non-ASCII -- cgit v1.2.3