fix hash table delete bug

This commit is contained in:
Matthew 2025-12-30 17:16:50 +11:00
parent 5f35fba904
commit 1160d747cc

4
util.d
View File

@ -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);