From ff17dcdb757656c5e81b10070a7bbcc4ef3e97f7 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 9 Aug 2026 06:39:08 +0900 Subject: refactor(path): build paths with Path::join Concatenating a directory, MAIN_SEPARATOR and a component reimplements what Path::join already does. Joining directly also drops the separator from the intermediate values it used to be baked into, such as ClassLoader's $pathEnd. Co-Authored-By: Claude Opus 5 (1M context) --- .../src/symfony/process/executable_finder.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'crates/shirabe-external-packages/src') diff --git a/crates/shirabe-external-packages/src/symfony/process/executable_finder.rs b/crates/shirabe-external-packages/src/symfony/process/executable_finder.rs index cd7d378f..309cdf7e 100644 --- a/crates/shirabe-external-packages/src/symfony/process/executable_finder.rs +++ b/crates/shirabe-external-packages/src/symfony/process/executable_finder.rs @@ -66,7 +66,11 @@ impl ExecutableFinder { for suffix in &suffixes { for dir in &dirs { let dir = if dir.is_empty() { "." } else { dir.as_str() }; - let file = format!("{dir}{}{name}{suffix}", std::path::MAIN_SEPARATOR); + let file = std::path::Path::new(dir) + .join(format!("{name}{suffix}")) + .into_os_string() + .into_string() + .unwrap(); if shirabe_php_shim::is_file(&file) && (cfg!(windows) || shirabe_php_shim::is_executable(&file)) { -- cgit v1.3.1-4-g156e