mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 19:47:45 +00:00
Merge pull request #853 from jbcrail/fix-pwd-test
tests/pwd: fix broken Windows test
This commit is contained in:
commit
b17adf1320
1 changed files with 15 additions and 1 deletions
|
@ -252,7 +252,21 @@ impl AtPath {
|
|||
|
||||
pub fn root_dir_resolved(&self) -> String {
|
||||
log_info("current_directory_resolved", "");
|
||||
self.subdir.canonicalize().unwrap().to_str().unwrap().to_owned()
|
||||
let s = self.subdir.canonicalize().unwrap().to_str().unwrap().to_owned();
|
||||
|
||||
// Due to canonicalize()'s use of GetFinalPathNameByHandleW() on Windows, the resolved path
|
||||
// starts with '\\?\' to extend the limit of a given path to 32,767 wide characters.
|
||||
//
|
||||
// To address this issue, we remove this prepended string if available.
|
||||
//
|
||||
// Source:
|
||||
// http://stackoverflow.com/questions/31439011/getfinalpathnamebyhandle-without-prepended
|
||||
let prefix = "\\\\?\\";
|
||||
if s.starts_with(prefix) {
|
||||
String::from(&s[prefix.len()..])
|
||||
} else {
|
||||
s
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue