From 3bf0f497125ddeffcae665dce7be7e2804fd32fb Mon Sep 17 00:00:00 2001 From: JohnnyMorganz Date: Thu, 2 May 2024 15:18:52 -0500 Subject: [PATCH] Strip upper-case version of EXE_SUFFIX (#57) On windows, file paths are case insensitive, so `binary.EXE` should be treated just like `binary.exe`. Interestingly, command prompt will return a lowercase extension as the current exe name, whilst PowerShell does not. Fixes #54 --- src/main.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 3840d78..f35a064 100644 --- a/src/main.rs +++ b/src/main.rs @@ -77,7 +77,11 @@ fn current_exe_name() -> anyhow::Result { .and_then(|name| name.to_str()) .ok_or_else(|| format_err!("OS gave a funny result when asking for executable name"))?; - exe_name = exe_name.strip_suffix(EXE_SUFFIX).unwrap_or(exe_name); + exe_name = exe_name + .strip_suffix(EXE_SUFFIX) + // See https://github.com/LPGhatguy/aftman/issues/54: handle windows file extension case-insensitivity + .or_else(|| exe_name.strip_suffix(&EXE_SUFFIX.to_uppercase())) + .unwrap_or(exe_name); Ok(exe_name.to_owned()) }