From 4b857105c9898a0522b7e86aa21df87e288be4f2 Mon Sep 17 00:00:00 2001 From: Kevin Butler Date: Tue, 25 Mar 2014 15:59:29 +0000 Subject: [PATCH] Fix OSX crash for uptime --- uptime/uptime.rs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/uptime/uptime.rs b/uptime/uptime.rs index bf64e030c..491dde0ec 100644 --- a/uptime/uptime.rs +++ b/uptime/uptime.rs @@ -127,7 +127,6 @@ fn print_nusers() { } } - fn print_time() { let local_time = unsafe { *localtime(&time(null())) }; @@ -139,16 +138,21 @@ fn print_time() { } fn get_uptime() -> int { - let uptime_text = File::open(&Path::new("/proc/uptime")) - .read_to_str().unwrap(); + let proc_uptime = File::open(&Path::new("/proc/uptime")) + .read_to_str(); - return match uptime_text.words().next() { + let uptime_text = match proc_uptime { + Ok(s) => s, + _ => return -1 + }; + + match uptime_text.words().next() { Some(s) => match from_str(s.replace(".","")) { Some(n) => n, None => -1 }, None => -1 - }; + } } fn print_uptime() { @@ -156,7 +160,7 @@ fn print_uptime() { let updays = uptime / 86400; let uphours = (uptime - (updays * 86400)) / 3600; let upmins = (uptime - (updays * 86400) - (uphours * 3600)) / 60; - if updays == 1 { + if updays == 1 { print!("up {:1d} day, {:2d}:{:02d}, ", updays, uphours, upmins); } else if updays > 1 {