summaryrefslogtreecommitdiff
path: root/regexec.c
diff options
context:
space:
mode:
authorPaul Sherwood <paul.sherwood@codethink.co.uk>2014-04-20 09:01:04 +0000
committerPaul Sherwood <paul.sherwood@codethink.co.uk>2014-04-20 09:01:04 +0000
commit6ecf40e1fa1b2c55f63d0ccb46bce2fca73b40ad (patch)
tree368a0326bcf36bc7e06cbbe7a1d55b752afd86ba /regexec.c
parentcb3ea602294b5038b5f7ac21d3875a2b52342956 (diff)
parent680d09b61ea7d850e27944311723a40c596e5d95 (diff)
downloadruby-baserock/ps/proto-web-system.tar.gz
Merge commit '680d09' into baserock/ps/proto-web-systembaserock/ps/proto-web-system
Diffstat (limited to 'regexec.c')
-rw-r--r--regexec.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/regexec.c b/regexec.c
index 55c28178c4..33b4a4efa6 100644
--- a/regexec.c
+++ b/regexec.c
@@ -3515,15 +3515,14 @@ onig_search(regex_t* reg, const UChar* str, const UChar* end,
start = min_semi_end - reg->anchor_dmax;
if (start < end)
start = onigenc_get_right_adjust_char_head(reg->enc, str, start, end);
- else { /* match with empty at end */
- start = onigenc_get_prev_char_head(reg->enc, str, end, end);
- }
}
if ((OnigDistance )(max_semi_end - (range - 1)) < reg->anchor_dmin) {
range = max_semi_end - reg->anchor_dmin + 1;
}
- if (start >= range) goto mismatch_no_msa;
+ if (start > range) goto mismatch_no_msa;
+ /* If start == range, match with empty at end.
+ Backward search is used. */
}
else {
if ((OnigDistance )(min_semi_end - range) > reg->anchor_dmax) {