about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorJeremy Soller <jackpot51@gmail.com>2016-11-30 21:50:17 -0700
committerJeremy Soller <jackpot51@gmail.com>2016-11-30 21:50:17 -0700
commit729442206cda26e1a6d03f545a872389b2139606 (patch)
tree210d80c51eab0bee4d11ee5c2f19abca8492f47d /src/libstd
parente68393397a10255ed645cb70bcedd20e5cba691d (diff)
downloadrust-729442206cda26e1a6d03f545a872389b2139606.tar.gz
rust-729442206cda26e1a6d03f545a872389b2139606.zip
Cleanup env
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/sys/redox/os.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/libstd/sys/redox/os.rs b/src/libstd/sys/redox/os.rs
index 15fb0cf2111..135e972bca4 100644
--- a/src/libstd/sys/redox/os.rs
+++ b/src/libstd/sys/redox/os.rs
@@ -144,10 +144,11 @@ pub fn env() -> Env {
         let mut string = String::new();
         if file.read_to_string(&mut string).is_ok() {
             for line in string.lines() {
-                if let Some(equal_sign) = line.chars().position(|c| c == '=') {
-                    let name = line.chars().take(equal_sign).collect::<String>();
-                    let value = line.chars().skip(equal_sign+1).collect::<String>();
-                    variables.push((OsString::from(name), OsString::from(value)));
+                let mut parts = line.splitn(2, '=');
+                if let Some(name) = parts.next() {
+                    let value = parts.next().unwrap_or("");
+                    variables.push((OsString::from(name.to_string()),
+                                    OsString::from(value.to_string())));
                 }
             }
         }