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-php-shim/src/preg.rs | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'crates/shirabe-php-shim') diff --git a/crates/shirabe-php-shim/src/preg.rs b/crates/shirabe-php-shim/src/preg.rs index 6dc9cd43..d36d61c7 100644 --- a/crates/shirabe-php-shim/src/preg.rs +++ b/crates/shirabe-php-shim/src/preg.rs @@ -151,18 +151,9 @@ pub fn preg_quote(str: &str, delimiter: Option) -> String { // Returns None if the pattern did not match; otherwise the match's capture groups. pub fn preg_match<'h>(pattern: impl PregPattern, subject: &'h str) -> Option> { - preg_match2(pattern, subject, 0) -} - -// `preg_match` with PHP's `$offset` argument: the search starts at byte offset `offset`. -pub fn preg_match2<'h>( - pattern: impl PregPattern, - subject: &'h str, - offset: usize, -) -> Option> { let __resolved = pattern.resolve(); let re = __resolved.regex(); - let caps = re.captures_at(subject, offset)?; + let caps = re.captures(subject)?; Some(PregMatches::new(caps)) } -- cgit v1.3.1-4-g156e