fix hash table delete bug
This commit is contained in:
parent
5f35fba904
commit
1160d747cc
4
util.d
4
util.d
@ -611,12 +611,12 @@ Delete(K, V)(HashTable!(K, V)* ht, K key)
|
|||||||
auto prev = ht.nil;
|
auto prev = ht.nil;
|
||||||
for(auto node = list.first; !CheckNil(ht.nil, node); prev = node, node = node.next)
|
for(auto node = list.first; !CheckNil(ht.nil, node); prev = node, node = node.next)
|
||||||
{
|
{
|
||||||
if(node.value.key == key)
|
if(node.key == key)
|
||||||
{
|
{
|
||||||
SLLRemove(list, node, prev, ht.nil);
|
SLLRemove(list, node, prev, ht.nil);
|
||||||
|
|
||||||
result.ok = true;
|
result.ok = true;
|
||||||
result.value = node.value.value;
|
result.value = node.value;
|
||||||
|
|
||||||
memset(&node.value, 0, node.value.sizeof);
|
memset(&node.value, 0, node.value.sizeof);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user