hru(1): uses new sysexits

This commit is contained in:
Emma Tebibyte 2024-08-23 14:31:02 -06:00
parent 4db4160019
commit 722679247a
Signed by: emma
GPG Key ID: 06FA419A1698C270

View File

@ -90,7 +90,7 @@ fn main() -> ExitCode {
let promises = Promises::new("stdio"); let promises = Promises::new("stdio");
if let Err(e) = pledge(Some(promises), None) { if let Err(e) = pledge(Some(promises), None) {
eprintln!("{}: {}", argv[0], e.strerror()); eprintln!("{}: {}", argv[0], e.strerror());
return ExitCode::from(EX_OSERR as u8); return ExitCode::from(EX_OSERR);
} }
} }
@ -104,30 +104,26 @@ fn main() -> ExitCode {
buf.clear(); buf.clear();
f f
}, },
Err(err) => { Err(e) => {
eprintln!("{}: {}", argv[0], err); eprintln!("{}: {}", argv[0], e);
return ExitCode::from(EX_DATAERR as u8); return ExitCode::from(EX_DATAERR);
}, },
}; };
let (number, prefix) = match convert(n) { let (number, prefix) = convert(n).unwrap_or_else(|e| {
Ok(x) => x, eprintln!("{}: {}", argv[0], e);
Err(err) => { exit(EX_SOFTWARE.into());
eprintln!("{}: {}", argv[0], err); });
return ExitCode::from(EX_SOFTWARE as u8);
},
};
let si_prefix = format!("{}B", prefix.1); let si_prefix = format!("{}B", prefix.1);
/* round output number to one decimal place */ /* round output number to one decimal place */
let out = ((number * 10.0).round() / 10.0).to_string(); let out = ((number * 10.0).round() / 10.0).to_string();
stdout().write_all(format!("{} {}\n", out, si_prefix).as_bytes()) if let Err(e) = stdout().write_all(format!("{} {}\n", out, si_prefix).as_bytes()) {
.unwrap_or_else(|e| {
eprintln!("{}: {}", argv[0], e.strerror()); eprintln!("{}: {}", argv[0], e.strerror());
exit(EX_IOERR); return ExitCode::from(EX_IOERR);
}); }
} }
ExitCode::SUCCESS ExitCode::SUCCESS