From 1d47b32717d7514eb0c3f94e461f56fce3e58f03 Mon Sep 17 00:00:00 2001 From: "K.Kosako" Date: Thu, 26 Sep 2019 14:00:10 +0900 Subject: [PATCH] break regex-loop if match position == 0 --- src/regexec.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/regexec.c b/src/regexec.c index 2a8e6f4..6096d4b 100644 --- a/src/regexec.c +++ b/src/regexec.c @@ -4341,13 +4341,18 @@ regset_search_body_regex_lead(OnigRegSet* set, reg = set->rs[i].reg; region = set->rs[i].region; r = search_in_range(reg, str, end, start, ep, orig_range, region, option, mps[i]); - if (r >= 0) { + if (r > 0) { if (str + r < ep) { ep = str + r; match_index = i; *rmatch_pos = r; } } + else if (r == 0) { + match_index = i; + *rmatch_pos = r; + break; + } } return match_index; -- 2.50.1