mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2025-03-17 20:28:03 +02:00
cli: make resolve_binary take COM executables into account
When `resolve_binary()` attempts to resolve a path to a program on Windows while searching for a program in `PATH` without an extension, `ripgrep` will assume the extension of the file to be `.exe` as it's the *de facto* standard, which will work most (99.99%) of the time... ...unless the binary is a COM executable (we're on Windows, duh). Closes #2523
This commit is contained in:
parent
545a7dc759
commit
da8ecddce9
@ -2,6 +2,10 @@ TBD
|
||||
===
|
||||
Unreleased changes. Release notes have not yet been written.
|
||||
|
||||
Feature enhancements:
|
||||
|
||||
* Added or improved file type filtering for Fuchsia
|
||||
|
||||
Bug fixes:
|
||||
|
||||
* [BUG #1891](https://github.com/BurntSushi/ripgrep/issues/1891):
|
||||
@ -10,6 +14,8 @@ Bug fixes:
|
||||
Disable mmap searching in all non-64-bit environments.
|
||||
* [BUG #2236](https://github.com/BurntSushi/ripgrep/issues/2236):
|
||||
Fix gitignore parsing bug where a trailing `\/` resulted in an error.
|
||||
* [BUG #2523](https://github.com/BurntSushi/ripgrep/issues/2523):
|
||||
Make executable searching take `.com` into account on Windows.
|
||||
|
||||
|
||||
13.0.0 (2021-06-12)
|
||||
|
@ -455,9 +455,11 @@ pub fn resolve_binary<P: AsRef<Path>>(
|
||||
return Ok(abs_prog.to_path_buf());
|
||||
}
|
||||
if abs_prog.extension().is_none() {
|
||||
let abs_prog = abs_prog.with_extension("exe");
|
||||
if is_exe(&abs_prog) {
|
||||
return Ok(abs_prog.to_path_buf());
|
||||
for extension in ["com", "exe"] {
|
||||
let abs_prog = abs_prog.with_extension(extension);
|
||||
if is_exe(&abs_prog) {
|
||||
return Ok(abs_prog.to_path_buf());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user