harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Strigun (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-21) File constructor produces wrong path to absolute path specified relative to root
Date Sat, 03 Dec 2005 21:51:32 GMT
    [ http://issues.apache.org/jira/browse/HARMONY-21?page=comments#action_12359243 ] 

Vladimir Strigun commented on HARMONY-21:
-----------------------------------------

The cause of problem is realization of fixSlashes() method of java.io.File. Another testcase
for this bug is almost the same (but reroduced with another constructor):
public void test_File_Constructor() { 
File path = new File("/dir/file"); 
File file = new File("/", "dir/file"); 

assertEquals("wrong path result ", path.getPath(), file.getPath()); 
} 
I've try create the fix for the issue and I can suggest not very elegant, but very efficient
fix for it:
254c254
< 				if ((foundSlash && i == uncIndex) || !foundSlash) {
---
> 				if ((foundSlash && i == uncIndex && path.charAt(0) == '/' &&
pathChar != '\\') || !foundSlash) {
fixSlashes functions converts all slashes to default separator. So, on Windows it converts
first '/' to '\' and after next iteration we receive UNC path instead of path to root folder.
Additional check of first symbol fix this problem.

> File constructor produces wrong path to absolute path specified relative to root
> --------------------------------------------------------------------------------
>
>          Key: HARMONY-21
>          URL: http://issues.apache.org/jira/browse/HARMONY-21
>      Project: Harmony
>         Type: Bug
>   Components: Classlib
>     Reporter: Tim Ellison
>     Assignee: Geir Magnusson Jr

>
> Specifying an absolute path relative to the root directory produces the wrong final pathname.
> Here's a simple test illustrating the problem:
> 	public void test_File_Constructor() {
> 		File path = new File("/dir/file");
> 		File root = new File("/");
> 		File file = new File(root, "/dir/file");
> 		assertEquals("wrong path result ", path.getPath(), file.getPath());
> 	}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message