From 880a5eaad9dcdfd31563385f11ba1f63d38cfd14 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 9 Aug 2026 06:19:30 +0900 Subject: refactor(php-shim): use std::path::MAIN_SEPARATOR over a shim constant The shim's DIRECTORY_SEPARATOR was hardcoded to "/", so every ported `'\\' === DIRECTORY_SEPARATOR` check compared against a constant that does not track the target platform. std::path::MAIN_SEPARATOR and MAIN_SEPARATOR_STR carry the same meaning as PHP's constant and resolve per platform, so the Windows branches are selected on Windows targets. Co-Authored-By: Claude Opus 5 (1M context) --- crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs') diff --git a/crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs b/crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs index 8834f724..0aba97fb 100644 --- a/crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs +++ b/crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs @@ -201,7 +201,7 @@ impl Filesystem { if shirabe_php_shim::is_link(&file) { // See https://bugs.php.net/52176 if !(shirabe_php_shim::unlink(&file) - || shirabe_php_shim::DIRECTORY_SEPARATOR != "\\" + || std::path::MAIN_SEPARATOR != '\\' || shirabe_php_shim::rmdir(&file)) && shirabe_php_shim::file_exists(&file) { @@ -272,7 +272,7 @@ impl Filesystem { let mut origin_dir = origin_dir.to_string(); let mut target_dir = target_dir.to_string(); - if shirabe_php_shim::DIRECTORY_SEPARATOR == "\\" { + if std::path::MAIN_SEPARATOR == '\\' { origin_dir = shirabe_php_shim::strtr(&origin_dir, "/", "\\"); target_dir = shirabe_php_shim::strtr(&target_dir, "/", "\\"); -- cgit v1.3.1-4-g156e