diff options
Diffstat (limited to 'usr/src/mei/pwd')
-rw-r--r-- | usr/src/mei/pwd/Cargo.toml | 1 | ||||
-rw-r--r-- | usr/src/mei/pwd/src/pwd.rs | 18 |
2 files changed, 11 insertions, 8 deletions
diff --git a/usr/src/mei/pwd/Cargo.toml b/usr/src/mei/pwd/Cargo.toml index 6671d1c..255fac0 100644 --- a/usr/src/mei/pwd/Cargo.toml +++ b/usr/src/mei/pwd/Cargo.toml @@ -16,3 +16,4 @@ path = "src/pwd.rs" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +com = { path = "../../lib/com" } diff --git a/usr/src/mei/pwd/src/pwd.rs b/usr/src/mei/pwd/src/pwd.rs index b0cc40d..06816a7 100644 --- a/usr/src/mei/pwd/src/pwd.rs +++ b/usr/src/mei/pwd/src/pwd.rs @@ -22,18 +22,20 @@ /* * Copyright 2023 Ren Kararou All rights reserved. + * Portions copyright Skylar Alexandra Bleed 2024. All rights reserved. * Use is subject to license terms. */ use std::env::current_dir; -use std::process::exit; +use com::macros::*; fn main() { - if let Ok(buf) = current_dir() { - println!("{}", buf.to_str().expect("pwd: cannot determine current directoy!")); - exit(0); - } else { - eprintln!("pwd: cannot determine current directory!"); - exit(2); - } + /* TODO: make expect accept different error codes? */ + + /* buf */ + let b = ok_or!(current_dir(), "pwd: cannot determine current directory!"); + /* path */ + let p = some_or!(b.to_str(), "pwd: cannot get path from buf!"); + + println!("{p}"); } |