diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/system.nim | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/system.nim b/lib/system.nim index 973a09e99..3a18a715c 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -2195,10 +2195,17 @@ iterator items*[T](a: set[T]): T {.inline.} = iterator items*(a: cstring): char {.inline.} = ## iterates over each item of `a`. - var i = 0 - while a[i] != '\0': - yield a[i] - inc(i) + when defined(js): + var i = 0 + var L = len(a) + while i < L: + yield a[i] + inc(i) + else: + var i = 0 + while a[i] != '\0': + yield a[i] + inc(i) iterator mitems*(a: var cstring): var char {.inline.} = ## iterates over each item of `a` so that you can modify the yielded value. |