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/hg.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'crates/shirabe/src/util/hg.rs') diff --git a/crates/shirabe/src/util/hg.rs b/crates/shirabe/src/util/hg.rs index 00fee240..3180f4f9 100644 --- a/crates/shirabe/src/util/hg.rs +++ b/crates/shirabe/src/util/hg.rs @@ -5,7 +5,7 @@ use crate::io::IOInterface; use crate::io::IOInterfaceImmutable; use crate::util::ProcessExecutor; use crate::util::Url; -use shirabe_php_shim::{php_regex, preg_match2, rawurlencode}; +use shirabe_php_shim::{php_regex, preg_match, rawurlencode}; use std::sync::OnceLock; static VERSION: OnceLock> = OnceLock::new(); @@ -55,12 +55,11 @@ impl Hg { } // Try with the authentication information available - let matched = preg_match2( + let matched = preg_match( php_regex!( r"{^(?Pssh|https?)://(?:(?P[^:@]+)(?::(?P[^:@]+))?@)?(?P[^/]+)(?P/.*)?}mi" ), &url, - 0, ); if let Some(matches) = matched @@ -151,10 +150,9 @@ impl Hg { &mut output, None, ) == 0 - && let Some(matches) = preg_match2( + && let Some(matches) = preg_match( php_regex!(r"/^.+? (\d+(?:\.\d+)+)(?:\+.*?)?\)?\r?\n/"), &output, - 0, ) { return matches.get(1).map(str::to_string); -- cgit v1.3.1-4-g156e