< prev index next >

src/java.base/windows/classes/sun/nio/fs/WindowsPath.java

Print this page

        

*** 241,257 **** // Drive relative path ("C:foo" for example). if (isSameDrive(root, getFileSystem().defaultRoot())) { // relative to default directory String remaining = path.substring(root.length()); String defaultDirectory = getFileSystem().defaultDirectory(); ! String result; ! if (defaultDirectory.endsWith("\\")) { ! result = defaultDirectory + remaining; } else { ! result = defaultDirectory + "\\" + remaining; } - return result; } else { // relative to some other drive String wd; try { int dt = GetDriveType(root + "\\"); --- 241,257 ---- // Drive relative path ("C:foo" for example). if (isSameDrive(root, getFileSystem().defaultRoot())) { // relative to default directory String remaining = path.substring(root.length()); String defaultDirectory = getFileSystem().defaultDirectory(); ! if (remaining.length() == 0) { ! return defaultDirectory; ! } else if (defaultDirectory.endsWith("\\")) { ! return defaultDirectory + remaining; } else { ! return defaultDirectory + "\\" + remaining; } } else { // relative to some other drive String wd; try { int dt = GetDriveType(root + "\\");
*** 410,423 **** --- 410,425 ---- for (int j=i; j<bn; j++) { result.append("..\\"); } // append remaining names in child + if (!other.isEmpty()) { for (int j=i; j<cn; j++) { result.append(other.getName(j).toString()); result.append("\\"); } + } // drop trailing slash in result result.setLength(result.length()-1); return createFromNormalizedPath(getFileSystem(), result.toString()); }
< prev index next >