diff options
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/generic_rule.rs')
| -rw-r--r-- | crates/shirabe/src/dependency_resolver/generic_rule.rs | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/crates/shirabe/src/dependency_resolver/generic_rule.rs b/crates/shirabe/src/dependency_resolver/generic_rule.rs index 328a770d..8b64dc46 100644 --- a/crates/shirabe/src/dependency_resolver/generic_rule.rs +++ b/crates/shirabe/src/dependency_resolver/generic_rule.rs @@ -2,7 +2,7 @@ use super::rule::ReasonData; use crate::dependency_resolver::{Rule, RuleBase}; -use shirabe_php_shim::{PHP_VERSION_ID, RuntimeException, hash_raw, unpack}; +use shirabe_php_shim::{PHP_VERSION_ID, RuntimeException, hash_raw}; #[derive(Debug)] pub struct GenericRule { @@ -42,19 +42,8 @@ impl GenericRule { "sha1" }; let binary = hash_raw(algo, &joined); - let data = unpack("ihash", &binary); - match data { - Some(map) => { - if let Some(val) = map.get("hash") { - Ok(val.as_int().unwrap_or(0)) - } else { - Err(RuntimeException { - message: format!("Failed unpacking: {}", joined), - code: 0, - } - .into()) - } - } + match binary.get(..4) { + Some(chunk) => Ok(i32::from_ne_bytes(chunk.try_into().unwrap()) as i64), None => Err(RuntimeException { message: format!("Failed unpacking: {}", joined), code: 0, |
