about summary refs log tree commit diff
path: root/library/std/src/sys/unix
diff options
context:
space:
mode:
authorAris Merchant <22333129+inquisitivecrystal@users.noreply.github.com>2021-06-24 16:04:24 -0700
committerAris Merchant <22333129+inquisitivecrystal@users.noreply.github.com>2021-07-05 22:19:23 -0700
commita12107afaaa634cd7352d3828caef89a975299bb (patch)
tree0a36d26e1d64f16ceab64e9a926bdc22d371c619 /library/std/src/sys/unix
parentd26e01e9df416304f7d0cc425bd0290560e12fae (diff)
downloadrust-a12107afaaa634cd7352d3828caef89a975299bb.tar.gz
rust-a12107afaaa634cd7352d3828caef89a975299bb.zip
Make `getenv` return an Option instead of a Result
Diffstat (limited to 'library/std/src/sys/unix')
-rw-r--r--library/std/src/sys/unix/os.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/library/std/src/sys/unix/os.rs b/library/std/src/sys/unix/os.rs
index 71fec79347a..1694656114a 100644
--- a/library/std/src/sys/unix/os.rs
+++ b/library/std/src/sys/unix/os.rs
@@ -532,19 +532,18 @@ pub fn env() -> Env {
     }
 }
 
-pub fn getenv(k: &OsStr) -> io::Result<Option<OsString>> {
+pub fn getenv(k: &OsStr) -> Option<OsString> {
     // environment variables with a nul byte can't be set, so their value is
     // always None as well
-    let k = CString::new(k.as_bytes())?;
+    let k = CString::new(k.as_bytes()).ok()?;
     unsafe {
         let _guard = env_read_lock();
         let s = libc::getenv(k.as_ptr()) as *const libc::c_char;
-        let ret = if s.is_null() {
+        if s.is_null() {
             None
         } else {
             Some(OsStringExt::from_vec(CStr::from_ptr(s).to_bytes().to_vec()))
-        };
-        Ok(ret)
+        }
     }
 }