Author: Armin Rigo <[email protected]>
Branch: unicode-utf8-re
Changeset: r93245:02e89a1160e5
Date: 2017-12-03 15:48 +0100
http://bitbucket.org/pypy/pypy/changeset/02e89a1160e5/
Log: fix
diff --git a/rpython/rlib/rsre/rsre_core.py b/rpython/rlib/rsre/rsre_core.py
--- a/rpython/rlib/rsre/rsre_core.py
+++ b/rpython/rlib/rsre/rsre_core.py
@@ -799,7 +799,8 @@
max_count = sys.maxint
max = ctx.pat(ppos+2)
if max != rsre_char.MAXREPEAT:
- max_count = max
+ max_count = max - min
+ assert max_count >= 0
nextppos = ppos + ctx.pat(ppos)
result = MinRepeatOneMatchResult(nextppos, ppos+3, max_count,
ptr, marks)
@@ -868,9 +869,10 @@
# Else we really need to count how many times it matches.
if maxcount != rsre_char.MAXREPEAT:
# adjust end
- end1 = ptr + maxcount
- if end1 <= end:
- end = end1
+ try:
+ end = ctx.next_n(ptr, maxcount, end)
+ except EndOfString:
+ pass
op = ctx.pat(ppos)
for op1, fre in unroll_fre_checker:
if op1 == op:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit