diff --git a/src/StaticPHP/Util/SourcePatcher.php b/src/StaticPHP/Util/SourcePatcher.php index c12717c2..7b96a105 100644 --- a/src/StaticPHP/Util/SourcePatcher.php +++ b/src/StaticPHP/Util/SourcePatcher.php @@ -47,17 +47,14 @@ class SourcePatcher } $patch_cwd = FileSystem::convertPath($cwd); $patch_arg = $patch_str; - if (PHP_OS_FAMILY === 'Windows') { - $patch_arg = FileSystem::convertWinPathToMinGW($patch_arg); - } // Detect if patch is already applied (reverse detection) $detect_reverse = !$reverse; $cd_cmd = (PHP_OS_FAMILY === 'Windows' ? 'cd /d ' : 'cd ') . escapeshellarg($patch_cwd); $detect_cmd = $cd_cmd . ' && patch --dry-run -p1 -s -f' - . ' -i ' . escapeshellarg($patch_arg) . ($detect_reverse ? ' -R' : '') + . ' < ' . escapeshellarg($patch_arg) . ' > ' . (PHP_OS_FAMILY === 'Windows' ? 'NUL' : '/dev/null') . ' 2>&1'; exec($detect_cmd, $output, $detect_status); @@ -69,8 +66,8 @@ class SourcePatcher // Apply patch $apply_cmd = $cd_cmd . ' && patch -p1' - . ' -i ' . escapeshellarg($patch_arg) - . ($reverse ? ' -R' : ''); + . ($reverse ? ' -R' : '') + . ' < ' . escapeshellarg($patch_arg); exec($apply_cmd, $apply_output, $apply_status); if ($apply_status !== 0) {