diff options
author | Araq <rumpf_a@web.de> | 2015-07-23 17:18:36 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-07-24 01:04:45 +0200 |
commit | 49324157421d138c3cba39b629bdb88a5b88dc54 (patch) | |
tree | 4902d16bcb4f898a779557decb41b36791dcfb90 /lib | |
parent | 18823a315e5a32d125a631f8ac8710be6102a95e (diff) | |
download | Nim-49324157421d138c3cba39b629bdb88a5b88dc54.tar.gz |
fixes #1832
Diffstat (limited to 'lib')
-rw-r--r-- | lib/system/sysstr.nim | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/system/sysstr.nim b/lib/system/sysstr.nim index 33629016f..326c601bd 100644 --- a/lib/system/sysstr.nim +++ b/lib/system/sysstr.nim @@ -210,6 +210,14 @@ proc incrSeq(seq: PGenericSeq, elemSize: int): PGenericSeq {.compilerProc.} = GenericSeqSize)) inc(result.len) +proc incrSeqV2(seq: PGenericSeq, elemSize: int): PGenericSeq {.compilerProc.} = + # incrSeq version 2 + result = seq + if result.len >= result.space: + result.reserved = resize(result.space) + result = cast[PGenericSeq](growObj(result, elemSize * result.reserved + + GenericSeqSize)) + proc setLengthSeq(seq: PGenericSeq, elemSize, newLen: int): PGenericSeq {. compilerRtl.} = result = seq |