diff options
| author | Chris Denton <chris@chrisdenton.dev> | 2024-07-18 14:35:01 +0000 |
|---|---|---|
| committer | Pietro Albini <pietro.albini@ferrous-systems.com> | 2024-09-03 14:36:21 +0200 |
| commit | c811d3126f87930b3de3c9e5e7b8d37e9d9d0cae (patch) | |
| tree | c707c476e0d12f29d4aaf267e3fbd662a70ddc80 /library/std/src/sys/path | |
| parent | d6c8169c186ab16a3404cd0d0866674018e8a19e (diff) | |
| download | rust-c811d3126f87930b3de3c9e5e7b8d37e9d9d0cae.tar.gz rust-c811d3126f87930b3de3c9e5e7b8d37e9d9d0cae.zip | |
More robust extension checking
Diffstat (limited to 'library/std/src/sys/path')
| -rw-r--r-- | library/std/src/sys/path/windows.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/library/std/src/sys/path/windows.rs b/library/std/src/sys/path/windows.rs index 21841eb18cc..2ae9a0a9199 100644 --- a/library/std/src/sys/path/windows.rs +++ b/library/std/src/sys/path/windows.rs @@ -1,5 +1,6 @@ use crate::ffi::{OsStr, OsString}; use crate::path::{Path, PathBuf, Prefix}; +use crate::sys::api::utf16; use crate::sys::pal::{c, fill_utf16_buf, os2path, to_u16s}; use crate::{io, ptr}; @@ -19,6 +20,10 @@ pub fn is_verbatim_sep(b: u8) -> bool { b == b'\\' } +pub fn is_verbatim(path: &[u16]) -> bool { + path.starts_with(utf16!(r"\\?\")) || path.starts_with(utf16!(r"\??\")) +} + /// Returns true if `path` looks like a lone filename. pub(crate) fn is_file_name(path: &OsStr) -> bool { !path.as_encoded_bytes().iter().copied().any(is_sep_byte) |
