summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2019-06-20 07:41:25 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-06-20 17:21:27 (GMT)
commit4ed43d16d773ae5f717a258ce81a18ab3fb29435 (patch)
tree0928447476b2a867cb661d33c39a88e82ae8b10c
parenta378509e1c8d817b3abe42bd8b3c8aa2a6f9af8a (diff)
downloadgit-4ed43d16d773ae5f717a258ce81a18ab3fb29435.zip
git-4ed43d16d773ae5f717a258ce81a18ab3fb29435.tar.gz
git-4ed43d16d773ae5f717a258ce81a18ab3fb29435.tar.bz2
khash: drop broken oid_map typedef
Commit 5a8643eff1 (khash: move oid hash table definition, 2019-02-19) added a khash "oid_map" type to match the existing "oid" type, which is a simple set (i.e., just keys, no values). But in setting up the khash_oid_map typedef, it accidentally referred to "kh_oid_t", which is the set type. Nobody noticed the breakage because there are not yet any callers; the type was added just as a match to the existing sha1 types (whose map type confusingly _is_ called khash_sha1, and it has no matching set type). We could easily fix this with s/oid/oid_map/ in the typedef. But let's take this a step further, and just drop the typedef entirely. These typedefs were added by 5a8643eff1 to match the khash_sha1 typedefs. But the actual khash-derived type names are descriptive enough; this is just adding an extra layer of indirection. The khash names do not quite follow our usual style (e.g., they end in "_t"), but since we end up using other khash names (e.g., khiter_t, kh_get_oid()) anyway, just typedef-ing the struct name is not really helping much. And there are already many cases where we use the raw khash type names anyway (e.g., the "set" variant defined just above us does not have such a typedef!). So let's drop this typedef, and the matching oid_pos one (which actually _does_ have a user, but we can easily convert it). We'll leave the khash_sha1 typedef around. The ultimate fate of its callers should be conversion to kh_oid_map_t, so there's no point in going through the noise of changing the names now. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--khash.h2
-rw-r--r--pack-bitmap.c2
2 files changed, 1 insertions, 3 deletions
diff --git a/khash.h b/khash.h
index af747a6..64d4eeb 100644
--- a/khash.h
+++ b/khash.h
@@ -345,9 +345,7 @@ static inline int oid_equal(struct object_id a, struct object_id b)
KHASH_INIT(oid, struct object_id, int, 0, oid_hash, oid_equal)
KHASH_INIT(oid_map, struct object_id, void *, 1, oid_hash, oid_equal)
-typedef kh_oid_t khash_oid_map;
KHASH_INIT(oid_pos, struct object_id, int, 1, oid_hash, oid_equal)
-typedef kh_oid_pos_t khash_oid_pos;
#endif /* __AC_KHASH_H */
diff --git a/pack-bitmap.c b/pack-bitmap.c
index ff1f07e..9981335 100644
--- a/pack-bitmap.c
+++ b/pack-bitmap.c
@@ -365,7 +365,7 @@ struct include_data {
static inline int bitmap_position_extended(struct bitmap_index *bitmap_git,
const struct object_id *oid)
{
- khash_oid_pos *positions = bitmap_git->ext_index.positions;
+ kh_oid_pos_t *positions = bitmap_git->ext_index.positions;
khiter_t pos = kh_get_oid_pos(positions, *oid);
if (pos < kh_end(positions)) {