Commit a8cd560b10149208aabcfe515b2e1b6c5be6388f

Patrick Steinhardt 2017-01-25T14:41:17

khash: avoid using `kh_del` directly

diff --git a/src/cache.c b/src/cache.c
index 89c46ef..965fc0c 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -134,7 +134,7 @@ static void cache_evict_entries(git_cache *cache)
 			evicted_memory += evict->size;
 			git_cached_obj_decref(evict);
 
-			kh_del(oid, cache->map, pos);
+			git_oidmap_delete_at(cache->map, pos);
 		}
 	}
 
diff --git a/src/oidmap.h b/src/oidmap.h
index 4fab99a..8eb8e28 100644
--- a/src/oidmap.h
+++ b/src/oidmap.h
@@ -39,8 +39,9 @@ GIT_INLINE(khint_t) git_oidmap_hash(const git_oid *oid)
 #define git_oidmap_exists(h, k) (kh_get(oid, h, k) != kh_end(h))
 #define git_oidmap_has_data(h, idx) kh_exist(h, idx)
 
-#define git_oidmap_key(h, idx)      kh_key(h, idx)
-#define git_oidmap_value_at(h, idx) kh_val(h, idx)
+#define git_oidmap_key(h, idx)       kh_key(h, idx)
+#define git_oidmap_value_at(h, idx)  kh_val(h, idx)
+#define git_oidmap_delete_at(h, idx) kh_del(oid, h, idx)
 
 #define git_oidmap_insert(h, key, val, rval) do { \
 	khiter_t __pos = kh_put(oid, h, key, &rval); \
diff --git a/src/pack.c b/src/pack.c
index 4c2b9eb..fe4a65c 100644
--- a/src/pack.c
+++ b/src/pack.c
@@ -137,7 +137,7 @@ static void free_lowest_entry(git_pack_cache *cache)
 	git_offmap_foreach(cache->entries, k, entry, {
 		if (entry && entry->refcount.val == 0) {
 			cache->memory_used -= entry->raw.len;
-			kh_del(off, cache->entries, k);
+			git_offmap_delete_at(cache->entries, k);
 			free_cache_object(entry);
 		}
 	});