From fe2d661931852c4303b45bed472640bd0b32448f Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Tue, 22 Aug 2017 10:33:26 -0700 Subject: [PATCH] Simplify code for handling Redox paths --- src/libstd/path.rs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/libstd/path.rs b/src/libstd/path.rs index 32e1781c3c4..d529b2153e1 100644 --- a/src/libstd/path.rs +++ b/src/libstd/path.rs @@ -324,9 +324,7 @@ unsafe fn u8_slice_as_os_str(s: &[u8]) -> &OsStr { } // Detect scheme on Redox -#[inline] -#[allow(unused_variables)] -fn has_scheme(s: &[u8]) -> bool { +fn has_redox_scheme(s: &[u8]) -> bool { cfg!(target_os = "redox") && s.split(|b| *b == b'/').next().unwrap_or(b"").contains(&b':') } @@ -612,9 +610,6 @@ pub struct Components<'a> { // normalization, e.g. \\server\share == \\server\share\. has_physical_root: bool, - // For Redox - has_scheme: bool, - // The iterator is double-ended, and these two states keep track of what has // been produced from either end front: State, @@ -735,7 +730,7 @@ pub fn as_path(&self) -> &'a Path { /// Is the *original* path rooted? fn has_root(&self) -> bool { - if self.has_physical_root || self.has_scheme { + if self.has_physical_root { return true; } if let Some(p) = self.prefix { @@ -1699,7 +1694,7 @@ pub fn is_absolute(&self) -> bool { self.has_root() && (cfg!(unix) || self.prefix().is_some()) } else { // FIXME: Allow Redox prefixes - has_scheme(self.as_u8_slice()) + has_redox_scheme(self.as_u8_slice()) } } @@ -2064,8 +2059,8 @@ pub fn components(&self) -> Components { Components { path: self.as_u8_slice(), prefix, - has_physical_root: has_physical_root(self.as_u8_slice(), prefix), - has_scheme: has_scheme(self.as_u8_slice()), + has_physical_root: has_physical_root(self.as_u8_slice(), prefix) || + has_redox_scheme(self.as_u8_slice()), front: State::Prefix, back: State::Body, } -- 2.44.0