summary refs log tree commit diff stats
path: root/src/nre.nim
diff options
context:
space:
mode:
authorOleh Prypin <blaxpirit@gmail.com>2015-04-09 23:42:11 +0300
committerOleh Prypin <blaxpirit@gmail.com>2015-04-09 23:51:06 +0300
commit7e44c08270004a7783e130e5b43dbca5d9a10245 (patch)
tree0a8ccf7049d765ab30ff94ae937cc9d4d36b52bb /src/nre.nim
parent4e83fc5867f004258c2744ef4cd7d064fad82578 (diff)
downloadNim-7e44c08270004a7783e130e5b43dbca5d9a10245.tar.gz
Change endpos default from -1 to int.high
Diffstat (limited to 'src/nre.nim')
-rw-r--r--src/nre.nim14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/nre.nim b/src/nre.nim
index 14b15cf5c..a9bbc31d5 100644
--- a/src/nre.nim
+++ b/src/nre.nim
@@ -311,7 +311,7 @@ proc matchImpl(str: string, pattern: Regex, start, endpos: int, flags: int): Opt
   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 strlen = if endpos == int.high: str.len else: endpos
 
   let execRet = pcre.exec(pattern.pcreObj,
                           pattern.pcreExtra,
@@ -328,14 +328,14 @@ proc matchImpl(str: string, pattern: Regex, start, endpos: int, flags: int): Opt
   else:
     raise newException(AssertionError, "Internal error: errno " & $execRet)
 
-proc match*(str: string, pattern: Regex, start = 0, endpos = -1): Option[RegexMatch] =
+proc match*(str: string, pattern: Regex, start = 0, endpos = int.high): Option[RegexMatch] =
   return str.matchImpl(pattern, start, endpos, pcre.ANCHORED)
 
-iterator findIter*(str: string, pattern: Regex, start = 0, endpos = -1): RegexMatch =
+iterator findIter*(str: string, pattern: Regex, start = 0, endpos = int.high): RegexMatch =
   # see pcredemo for explaination
   let matchesCrLf = pattern.matchesCrLf()
   let unicode = (getinfo[cint](pattern, pcre.INFO_OPTIONS) and pcre.UTF8) > 0
-  let endpos = if endpos == -1: str.len else: endpos
+  let endpos = if endpos == int.high: str.len else: endpos
 
   var offset = start
   var match: Option[RegexMatch]
@@ -371,14 +371,14 @@ iterator findIter*(str: string, pattern: Regex, start = 0, endpos = -1): RegexMa
       # do while
       break
 
-proc find*(str: string, pattern: Regex, start = 0, endpos = -1): Option[RegexMatch] =
+proc find*(str: string, pattern: Regex, start = 0, endpos = int.high): Option[RegexMatch] =
   ## Returns a `RegexMatch` if there is a match between `start` and `endpos`, otherwise
   ## it returns nil.
   ##
-  ## if `endpos == -1`, then `endpos = str.len`
+  ## if `endpos == int.high`, then `endpos = str.len`
   return str.matchImpl(pattern, start, endpos, 0)
 
-proc findAll*(str: string, pattern: Regex, start = 0, endpos = -1): seq[string] =
+proc findAll*(str: string, pattern: Regex, start = 0, endpos = int.high): seq[string] =
   result = @[]
   for match in str.findIter(pattern, start, endpos):
     result.add(match.match)