< 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 >