@@ -9,12 +9,10 @@ use chrono::{Local, TimeZone, Utc};
9
9
use clap:: ArgMatches ;
10
10
use std:: io;
11
11
use thiserror:: Error ;
12
- use uucore:: error:: UError ;
12
+ use uucore:: error:: { UError , UResult } ;
13
13
use uucore:: libc:: time_t;
14
14
use uucore:: uptime:: * ;
15
15
16
- use uucore:: error:: UResult ;
17
-
18
16
use clap:: { Arg , ArgAction , Command , ValueHint , builder:: ValueParser } ;
19
17
20
18
use uucore:: { format_usage, help_about, help_usage} ;
@@ -35,6 +33,7 @@ const ABOUT: &str = concat!(
35
33
const ABOUT : & str = help_about ! ( "uptime.md" ) ;
36
34
37
35
const USAGE : & str = help_usage ! ( "uptime.md" ) ;
36
+
38
37
pub mod options {
39
38
pub static SINCE : & str = "since" ;
40
39
pub static PATH : & str = "path" ;
@@ -54,6 +53,7 @@ pub enum UptimeError {
54
53
#[ error( "extra operand '{0}'" ) ]
55
54
ExtraOperandError ( String ) ,
56
55
}
56
+
57
57
impl UError for UptimeError {
58
58
fn code ( & self ) -> i32 {
59
59
1
@@ -160,7 +160,7 @@ fn uptime_with_file(file_path: &std::ffi::OsString) -> UResult<()> {
160
160
show_error ! ( "couldn't get boot time" ) ;
161
161
print_time ( ) ;
162
162
print ! ( "up ???? days ??:??," ) ;
163
- print_nusers ( Some ( 0 ) ) ? ;
163
+ print_nusers ( Some ( 0 ) ) ;
164
164
print_loadavg ( ) ;
165
165
set_exit_code ( 1 ) ;
166
166
return Ok ( ( ) ) ;
@@ -170,7 +170,7 @@ fn uptime_with_file(file_path: &std::ffi::OsString) -> UResult<()> {
170
170
if non_fatal_error {
171
171
print_time ( ) ;
172
172
print ! ( "up ???? days ??:??," ) ;
173
- print_nusers ( Some ( 0 ) ) ? ;
173
+ print_nusers ( Some ( 0 ) ) ;
174
174
print_loadavg ( ) ;
175
175
return Ok ( ( ) ) ;
176
176
}
@@ -194,20 +194,19 @@ fn uptime_with_file(file_path: &std::ffi::OsString) -> UResult<()> {
194
194
195
195
#[ cfg( target_os = "openbsd" ) ]
196
196
{
197
- user_count = get_nusers ( file_path. to_str ( ) . expect ( "invalid utmp path file" ) ) ;
198
-
199
197
let upsecs = get_uptime ( None ) ;
200
- if upsecs < 0 {
198
+ if upsecs >= 0 {
199
+ print_uptime ( Some ( upsecs) ) ?;
200
+ } else {
201
201
show_error ! ( "couldn't get boot time" ) ;
202
202
set_exit_code ( 1 ) ;
203
203
204
204
print ! ( "up ???? days ??:??," ) ;
205
- } else {
206
- print_uptime ( Some ( upsecs) ) ?;
207
205
}
206
+ user_count = get_nusers ( file_path. to_str ( ) . expect ( "invalid utmp path file" ) ) ;
208
207
}
209
208
210
- print_nusers ( Some ( user_count) ) ? ;
209
+ print_nusers ( Some ( user_count) ) ;
211
210
print_loadavg ( ) ;
212
211
213
212
Ok ( ( ) )
@@ -236,7 +235,7 @@ fn default_uptime(matches: &ArgMatches) -> UResult<()> {
236
235
237
236
print_time ( ) ;
238
237
print_uptime ( None ) ?;
239
- print_nusers ( None ) ? ;
238
+ print_nusers ( None ) ;
240
239
print_loadavg ( ) ;
241
240
242
241
Ok ( ( ) )
@@ -276,7 +275,7 @@ fn process_utmpx(file: Option<&std::ffi::OsString>) -> (Option<time_t>, usize) {
276
275
( boot_time, nusers)
277
276
}
278
277
279
- fn print_nusers ( nusers : Option < usize > ) -> UResult < ( ) > {
278
+ fn print_nusers ( nusers : Option < usize > ) {
280
279
print ! (
281
280
"{}, " ,
282
281
match nusers {
@@ -288,7 +287,6 @@ fn print_nusers(nusers: Option<usize>) -> UResult<()> {
288
287
}
289
288
}
290
289
) ;
291
- Ok ( ( ) )
292
290
}
293
291
294
292
fn print_time ( ) {
0 commit comments