From 01e22abb1978f51c6a7b3698b7dce3e63ec29e8a Mon Sep 17 00:00:00 2001 From: Flaviu Tamas Date: Fri, 16 Jan 2015 19:22:21 -0500 Subject: [PATCH] Fix upper bound handling --- src/nre.nim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/nre.nim b/src/nre.nim index eb0210084e..f410910095 100644 --- a/src/nre.nim +++ b/src/nre.nim @@ -301,10 +301,12 @@ proc matchImpl(str: string, pattern: Regex, start, endpos: int, flags: int): Reg result.pcreMatchBounds = newSeq[Slice[cint]](ceil(vecsize / 2).int) result.pcreMatchBounds.setLen(vecsize div 3) + let strlen = if endpos == -1: str.len else: endpos + let execRet = pcre.exec(pattern.pcreObj, pattern.pcreExtra, cstring(str), - cint(max(str.len, endpos)), + cint(strlen), cint(start), cint(flags), cast[ptr cint](addr result.pcreMatchBounds[0]),