From 0f23bbac0104fe4c51923eb09b7a98c3e6239571 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Fri, 6 May 2011 16:30:39 -0700 Subject: Fix GenericOS.getenv returning a raw str, return an Option.t[str] instead. --- src/lib/GenericOS.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/lib/GenericOS.rs') diff --git a/src/lib/GenericOS.rs b/src/lib/GenericOS.rs index c60fa2b8..30b1d1d0 100644 --- a/src/lib/GenericOS.rs +++ b/src/lib/GenericOS.rs @@ -1,4 +1,9 @@ -fn getenv(str n) -> str { - ret Str.str_from_cstr(OS.libc.getenv(Str.buf(n))); +fn getenv(str n) -> Option.t[str] { + auto s = OS.libc.getenv(Str.buf(n)); + if (s == 0 as Str.sbuf) { + ret Option.none[str]; + } else { + ret Option.some[str](Str.str_from_cstr(s)); + } } -- cgit v1.2.3