about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorIan Douglas Scott <ian@iandouglasscott.com>2017-08-22 10:33:26 -0700
committerIan Douglas Scott <ian@iandouglasscott.com>2017-08-22 10:33:49 -0700
commitfe2d661931852c4303b45bed472640bd0b32448f (patch)
tree6ce04aeb5a43eeed3dbcd0266b58562b33f1289d /src/libstd
parentab48de88472f19596ba2a67ff4e8a8c1c4015989 (diff)
downloadrust-fe2d661931852c4303b45bed472640bd0b32448f.tar.gz
rust-fe2d661931852c4303b45bed472640bd0b32448f.zip
Simplify code for handling Redox paths
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/path.rs15
1 files 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 @@ impl<'a> Components<'a> {
 
     /// 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 @@ impl Path {
             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 @@ impl Path {
         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,
         }