From: K.Kosako Date: Thu, 26 Sep 2019 05:00:10 +0000 (+0900) Subject: break regex-loop if match position == 0 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1d47b32717d7514eb0c3f94e461f56fce3e58f03;p=onig break regex-loop if match position == 0 --- 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;