From e093b2be1c333e67c96aebb0a5291bea9ae3d6db Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 18 Aug 2026 01:57:02 +0900 Subject: refactor(preg): drop the offset argument from preg_match Every call site but one passed offset 0. The remaining one, the UTF-8 chunking loop in Application, slices the subject instead: its pattern has no anchor or lookaround, so matching a suffix is equivalent to starting the search at that offset. Co-Authored-By: Claude Opus 5 (1M context) --- crates/shirabe/src/util/http/response.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'crates/shirabe/src/util/http/response.rs') diff --git a/crates/shirabe/src/util/http/response.rs b/crates/shirabe/src/util/http/response.rs index ed5c5214..6fe95200 100644 --- a/crates/shirabe/src/util/http/response.rs +++ b/crates/shirabe/src/util/http/response.rs @@ -1,7 +1,7 @@ //! ref: composer/src/Composer/Util/Http/Response.php use crate::json::JsonFile; -use shirabe_php_shim::{PhpMixed, php_regex, preg_match2, preg_quote}; +use shirabe_php_shim::{PhpMixed, php_regex, preg_match, preg_quote}; #[derive(Debug)] pub struct Response { @@ -28,7 +28,7 @@ impl Response { pub fn get_status_message(&self) -> Option { let mut value = None; for header in &self.headers { - if preg_match2(php_regex!(r"{^HTTP/\S+ \d+}i"), header, 0).is_some() { + if preg_match(php_regex!(r"{^HTTP/\S+ \d+}i"), header).is_some() { // In case of redirects, headers contain the headers of all responses // so we can not return directly and need to keep iterating value = Some(header.clone()); @@ -64,7 +64,7 @@ impl Response { let mut value = None; let pattern = format!("{{^{}:\\s*(.+?)\\s*$}}i", preg_quote(name, None)); for header in headers { - if let Some(matches) = preg_match2(&pattern, header, 0) + if let Some(matches) = preg_match(&pattern, header) && let Some(s) = matches.get(1) { value = Some(s.to_string()); -- cgit v1.3.1-4-g156e