diff options
author | Dmitry Atamanov <data-man@users.noreply.github.com> | 2018-05-01 20:45:38 +0300 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2018-05-01 19:45:38 +0200 |
commit | 82275e3779e266c8b9bedb56a71472367ffc786b (patch) | |
tree | 33601d22ee15bab2c2c432e69e604586974df7ed | |
parent | d62fe7d5384139ad55277c108bf88c105a3c5d30 (diff) | |
download | Nim-82275e3779e266c8b9bedb56a71472367ffc786b.tar.gz |
Fix renderer's errors (#7742)
* Fix renderer's errors * Same for filter_tmpl * var -> let
-rw-r--r-- | compiler/filter_tmpl.nim | 3 | ||||
-rw-r--r-- | compiler/renderer.nim | 12 |
2 files changed, 9 insertions, 6 deletions
diff --git a/compiler/filter_tmpl.nim b/compiler/filter_tmpl.nim index a1ba9113c..51ccb8390 100644 --- a/compiler/filter_tmpl.nim +++ b/compiler/filter_tmpl.nim @@ -42,7 +42,8 @@ proc newLine(p: var TTmplParser) = proc scanPar(p: var TTmplParser, d: int) = var i = d - while true: + let hi = p.x.len - 1 + while i <= hi: case p.x[i] of '\0': break of '(': inc(p.par) diff --git a/compiler/renderer.nim b/compiler/renderer.nim index 11d8e86a7..95a622d4e 100644 --- a/compiler/renderer.nim +++ b/compiler/renderer.nim @@ -175,10 +175,11 @@ proc put(g: var TSrcGen, kind: TTokType, s: string) = proc putComment(g: var TSrcGen, s: string) = if s.isNil: return var i = 0 + let hi = len(s) - 1 var isCode = (len(s) >= 2) and (s[1] != ' ') var ind = g.lineLen var com = "## " - while true: + while i <= hi: case s[i] of '\0': break @@ -201,12 +202,12 @@ proc putComment(g: var TSrcGen, s: string) = # gets too long: # compute length of the following word: var j = i - while s[j] > ' ': inc(j) + while j <= hi and s[j] > ' ': inc(j) if not isCode and (g.lineLen + (j - i) > MaxLineLen): put(g, tkComment, com) optNL(g, ind) com = "## " - while s[i] > ' ': + while i <= hi and s[i] > ' ': add(com, s[i]) inc(i) put(g, tkComment, com) @@ -215,8 +216,9 @@ proc putComment(g: var TSrcGen, s: string) = proc maxLineLength(s: string): int = if s.isNil: return 0 var i = 0 + let hi = len(s) - 1 var lineLen = 0 - while true: + while i <= hi: case s[i] of '\0': break @@ -235,7 +237,7 @@ proc maxLineLength(s: string): int = proc putRawStr(g: var TSrcGen, kind: TTokType, s: string) = var i = 0 - var hi = len(s) - 1 + let hi = len(s) - 1 var str = "" while i <= hi: case s[i] |