diff options
Diffstat (limited to 'vendor/dunce/README.md')
-rw-r--r-- | vendor/dunce/README.md | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/vendor/dunce/README.md b/vendor/dunce/README.md new file mode 100644 index 000000000..40a9c1032 --- /dev/null +++ b/vendor/dunce/README.md @@ -0,0 +1,17 @@ +# Dunce (de-UNC) + +In Windows the regular paths (`C:\foo`) are supported by all programs, +but have lots of bizarre restrictions for backwards compatibility with MS-DOS. +There are also Windows NT UNC paths (`\\?\C:\foo`), which are more robust and with fewer gotchas, +but are rarely supported by Windows programs. Even Microsoft's own! + +This crate converts Windows UNC paths to the MS-DOS-compatible format whenever possible, +but leaves UNC paths as-is when they can't be unambiguously expressed in a simpler way. +This allows legacy programs to access all paths they can possibly access, +and doesn't break any paths for UNC-aware programs. + +In Rust the worst UNC offender is the `fs::canonicalize()` function. This crate provides +a drop-in replacement for it that returns paths you'd expect. + +On non-Windows platforms these functions leave paths unmodified, so it's safe to use them +unconditionally for all platforms. |