From 826bc237a3fd845b611dc9c4f2887e83c8243312 Mon Sep 17 00:00:00 2001 From: Steppy Date: Fri, 13 Dec 2024 21:03:05 +0100 Subject: [PATCH] Show error message if ssh-agent failed to start --- src/main.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 8d2d9e6..c8766e3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -284,11 +284,14 @@ fn start_ssh_agent() -> Result<(), String> { .stdout(Stdio::piped()) .output() .map_err(|e| format!("failed to start ssh agent: {e}"))?; - let agent_output = String::from_utf8_lossy(&agent_output.stdout); + let agent_stdout = String::from_utf8_lossy(&agent_output.stdout); + if !agent_output.status.success() { + return Err("failed to start ssh agent; maybe try to run ssh-agent manually?".to_string()); + } //set the env vars from the agent static ENV_VAR_REGEX: Lazy = lazy_regex!("(.+?)=(.+?);"); - for capture in ENV_VAR_REGEX.captures_iter(&agent_output) { + for capture in ENV_VAR_REGEX.captures_iter(&agent_stdout) { let (_, [env_var, value]) = capture.extract(); env::set_var(env_var, value); }