• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

src/H03-May-2022-316239

.appveyor.ymlH A D28-May-2018859 3328

.cargo-checksum.jsonH A D03-May-202289 11

.cargo_vcs_info.jsonH A D02-Jun-202074 65

.gitignoreH A D17-Nov-201732 53

.gitlab-ci.ymlH A D16-Apr-2018379 119

Cargo.tomlH A D02-Jun-20201.1 KiB3330

Cargo.toml.orig-cargoH A D02-Jun-2020633 2118

LICENSEH A D02-Jun-20206.9 KiB122109

README.mdH A D22-Nov-2017916 1813

README.md

1# Dunce (de-UNC)
2
3In Windows the regular paths (`C:\foo`) are supported by all programs,
4but have lots of bizarre restrictions for backwards compatibility with MS-DOS.
5There are also Windows NT UNC paths (`\\?\C:\foo`), which are more robust and with fewer gotchas,
6but are rarely supported by Windows programs. Even Microsoft's own!
7
8This crate converts Windows UNC paths to the MS-DOS-compatible format whenever possible,
9but leaves UNC paths as-is when they can't be unambiguously expressed in a simpler way.
10This allows legacy programs to access all paths they can possibly access,
11and doesn't break any paths for UNC-aware programs.
12
13In Rust the worst UNC offender is the `fs::canonicalize()` function. This crate provides
14a drop-in replacement for it that returns paths you'd expect.
15
16On non-Windows platforms these functions leave paths unmodified, so it's safe to use them
17unconditionally for all platforms.
18