diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-08-18 04:47:02 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-08-18 04:47:18 +0900 |
| commit | ced1f9aa91ee36857fec9664c9ccd86ba2310821 (patch) | |
| tree | 630ea3eb3b0e710403669de9ba6a78a421e182a8 /crates/shirabe/src/package | |
| parent | 6b7c6cb9a3d1cdf93f261238c1edbc70706a33c7 (diff) | |
| download | php-shirabe-ced1f9aa91ee36857fec9664c9ccd86ba2310821.tar.gz php-shirabe-ced1f9aa91ee36857fec9664c9ccd86ba2310821.tar.zst php-shirabe-ced1f9aa91ee36857fec9664c9ccd86ba2310821.zip | |
refactor(function-exists): drop checks for always-present capabilities
function_exists() returns false in PHP when a function is blocked by
disable_functions, when its extension is not compiled in, or when the
PHP version predates it. None of those apply to a native binary.
Diffstat (limited to 'crates/shirabe/src/package')
| -rw-r--r-- | crates/shirabe/src/package/archiver/phar_archiver.rs | 6 | ||||
| -rw-r--r-- | crates/shirabe/src/package/locker.rs | 9 | ||||
| -rw-r--r-- | crates/shirabe/src/package/version/version_guesser.rs | 10 |
3 files changed, 8 insertions, 17 deletions
diff --git a/crates/shirabe/src/package/archiver/phar_archiver.rs b/crates/shirabe/src/package/archiver/phar_archiver.rs index ea04a302..75e5a775 100644 --- a/crates/shirabe/src/package/archiver/phar_archiver.rs +++ b/crates/shirabe/src/package/archiver/phar_archiver.rs @@ -7,7 +7,7 @@ use indexmap::IndexMap; use shirabe_php_shim::Catch as _; use shirabe_php_shim::{ FilesystemIterator, Phar, PharData, RuntimeException, UnexpectedValueException, bzcompress, - file_exists, file_put_contents, function_exists, gzcompress, str_repeat, strrpos, unlink, + file_exists, file_put_contents, gzcompress, str_repeat, strrpos, unlink, }; fn formats() -> IndexMap<&'static str, i64> { @@ -108,11 +108,11 @@ impl ArchiverInterface for PharArchiver { )) .into()); } - if format == "tar.gz" && function_exists("gzcompress") { + if format == "tar.gz" { let data = gzcompress(&str_repeat("\0", 10240).into_bytes()).unwrap_or_default(); file_put_contents(&target, &data); - } else if format == "tar.bz2" && function_exists("bzcompress") { + } else if format == "tar.bz2" { let data = bzcompress(&str_repeat("\0", 10240).into_bytes()).unwrap_or_default(); file_put_contents(&target, &data); diff --git a/crates/shirabe/src/package/locker.rs b/crates/shirabe/src/package/locker.rs index ec8d86e7..17911c6e 100644 --- a/crates/shirabe/src/package/locker.rs +++ b/crates/shirabe/src/package/locker.rs @@ -27,9 +27,8 @@ use indexmap::IndexMap; use shirabe_php_shim::Catch as _; use shirabe_php_shim::{ DATE_RFC3339, LogicException, PhpMixed, RuntimeException, array_intersect, array_keys, - array_map, array_merge, file_get_contents, filemtime, function_exists, hash, in_array_loose, - is_int, ksort, php_regex, preg_is_match, preg_match, realpath, strcmp, strtolower, touch2, - trim, usort, + array_map, array_merge, file_get_contents, filemtime, hash, in_array_loose, is_int, ksort, + php_regex, preg_is_match, preg_match, realpath, strcmp, strtolower, touch2, trim, usort, }; use shirabe_seld_json_lint::ParsingException; @@ -773,10 +772,6 @@ impl Locker { &mut self, package: PackageInterfaceHandle, ) -> anyhow::Result<Option<String>> { - if !function_exists("proc_open") { - return Ok(None); - } - let path = self .installation_manager .borrow_mut() diff --git a/crates/shirabe/src/package/version/version_guesser.rs b/crates/shirabe/src/package/version/version_guesser.rs index 3c47d5b2..38c4f0a3 100644 --- a/crates/shirabe/src/package/version/version_guesser.rs +++ b/crates/shirabe/src/package/version/version_guesser.rs @@ -13,9 +13,9 @@ use crate::util::Svn as SvnUtil; use crate::util::sync_executor; use indexmap::IndexMap; use shirabe_php_shim::{ - PhpMixed, RuntimeException, array_keys, array_map, array_merge, empty, function_exists, - implode, is_string, json_encode, php_regex, preg_is_match, preg_match, preg_quote, - preg_replace, str_replace, strlen, strnatcasecmp, strpos, substr, trim, usort, + PhpMixed, RuntimeException, array_keys, array_map, array_merge, empty, implode, is_string, + json_encode, php_regex, preg_is_match, preg_match, preg_quote, preg_replace, str_replace, + strlen, strnatcasecmp, strpos, substr, trim, usort, }; /// Seam over the parts of [`VersionGuesser`] that consumers depend on, so they can be exercised @@ -104,10 +104,6 @@ impl VersionGuesser { return Ok(None); } - if !function_exists("proc_open") { - return Ok(None); - } - // bypass version guessing in bash completions as it takes time to create // new processes and the root version is usually not that important if Platform::is_input_completion_process() { |
