summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2015-10-06 14:15:50 +0200
committerAndreas Rumpf <rumpf_a@web.de>2015-10-06 14:15:50 +0200
commit8f9438d29a5e8d6cf1dbfbe19d97347f310f35be (patch)
treec8e5d39034e552973bbff025fe38a1bcd14e0542
parent0a8a2070d01489d036ececa78c87ef94325d3e9d (diff)
parent73821ad1c4b2f64a2885c60c3bc43e74cae5ee1d (diff)
downloadNim-8f9438d29a5e8d6cf1dbfbe19d97347f310f35be.tar.gz
Merge pull request #3421 from jlp765/strtab1
fix #3416 strtabs clear() and []=
-rw-r--r--lib/pure/strtabs.nim6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/pure/strtabs.nim b/lib/pure/strtabs.nim
index 86f81aa43..1ce9067a7 100644
--- a/lib/pure/strtabs.nim
+++ b/lib/pure/strtabs.nim
@@ -173,6 +173,9 @@ proc clear*(s: StringTableRef, mode: StringTableMode) =
   s.mode = mode
   s.counter = 0
   s.data.setLen(startSize)
+  for i in 0..<s.data.len:
+    if not isNil(s.data[i].key):
+      s.data[i].key = nil
 
 proc newStringTable*(keyValuePairs: varargs[string],
                      mode: StringTableMode): StringTableRef {.
@@ -248,3 +251,6 @@ when isMainModule:
   x.mget("11") = "23"
   assert x["11"] == "23"
 
+  x.clear(modeCaseInsensitive)
+  x["11"] = "22"
+  assert x["11"] == "22"