From fc363a4b2599983de9d786baa9e2d5fe9754f845 Mon Sep 17 00:00:00 2001 From: pawank06 Date: Wed, 7 Jan 2026 21:30:43 +0530 Subject: [PATCH 1/2] fix(error): improve error message --- src/main.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 254a2b9..fe49c00 100644 --- a/src/main.rs +++ b/src/main.rs @@ -88,9 +88,13 @@ fn main() { let full_path = args.join(" "); let path = Path::new(&full_path); - if path.exists() && path.is_dir() { - if let Err(_) = env::set_current_dir(path) { - println!("cd: {}: No such file or directory", path.display()); + if path.exists() { + println!("cd: {}: No such file or directory", full_path); + } else if !path.dir() { + println!("cd: {}: Not a directory", full_path); + } else { + if let Err(e) = env::set_current_dir(full_path) { + println!("cd: {} {}", path.display(), e); } } } else { From 99334c2187117904dabfb093b1adca76ae1e2751 Mon Sep 17 00:00:00 2001 From: pawank06 Date: Wed, 7 Jan 2026 21:40:26 +0530 Subject: [PATCH 2/2] fix(cd): resolve cd error and logic --- src/main.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index fe49c00..cb9a8f5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -88,12 +88,12 @@ fn main() { let full_path = args.join(" "); let path = Path::new(&full_path); - if path.exists() { + if !path.exists() { println!("cd: {}: No such file or directory", full_path); - } else if !path.dir() { + } else if !path.is_dir() { println!("cd: {}: Not a directory", full_path); } else { - if let Err(e) = env::set_current_dir(full_path) { + if let Err(e) = env::set_current_dir(&full_path) { println!("cd: {} {}", path.display(), e); } }