The idea is that more recently-added cache items are more likely to
get hits.
Signed-off-by: wm4 <wm4@nowhere>
{
unsigned bucket = cache->hash_func(key, cache->key_size) % cache->buckets;
CacheItem **item = &cache->map[bucket];
- while (*item)
- item = &(*item)->next;
+ CacheItem *next = *item;
(*item) = calloc(1, sizeof(CacheItem));
(*item)->key = malloc(cache->key_size);
(*item)->value = malloc(cache->value_size);
memcpy((*item)->key, key, cache->key_size);
memcpy((*item)->value, value, cache->value_size);
+ (*item)->next = next;
cache->items++;
if (cache->size_func)