【发布时间】:2011-05-06 15:28:46
【问题描述】:
这部分可能应该总是为每个 Key 返回相同的哈希值,不是吗? 但我发现与键相关的值会随着每次更新而改变......
每当有更新时,如何修复每个键的相同值?
u_int64_t* ReturnValue=NULL;
u_int32_t a;
int sz;
a = nothl(as->addr32[0]);
sz = update(size);
if (ReturnValue=(u_int64_t*)g_hash_table_lookup(hashtable, (gpointer)&a))
{
g_hash_table_insert(hashtable, (gpointer)&a, (gpointer)ReturnValue);
// I didnt't use g_hash_table_replace() because it will free the key then the value change
}
else g_hash_table_insert(hashtable, (gpointer)&a, (gpointer)&sz)
【问题讨论】: