]> git.ipfire.org Git - thirdparty/git.git/commitdiff
khash: rename kh_oid_t to kh_oid_set
authorJeff King <peff@peff.net>
Thu, 20 Jun 2019 07:41:28 +0000 (03:41 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 20 Jun 2019 17:27:48 +0000 (10:27 -0700)
khash lets us define a hash as either a map or a set (i.e., with no
"value" type). For the oid maps we define, "oid" is the set and
"oid_map" is the map. As the bug in the previous commit shows, it's easy
to pick the wrong one.

So let's make the names more distinct: "oid_set" and "oid_map".

An alternative naming scheme would be to actually name the type after
the key/value types. So e.g., "oid" _would_ be the set, since it has no
value type. And "oid_map" would become "oid_void" or similar (and
"oid_pos" becomes "oid_int"). That's better in some ways: it's more
regular, and a given map type can be more reasily reused in multiple
contexts (e.g., something storing an "int" that isn't a "pos"). But it's
also slightly less descriptive.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
khash.h
oidset.c
oidset.h

diff --git a/khash.h b/khash.h
index 64d4eeb2bd5636bd69a40a2ec02797e52489558a..ae9f78347f7c0cded98253075522ead988620bfb 100644 (file)
--- a/khash.h
+++ b/khash.h
@@ -342,7 +342,7 @@ static inline int oid_equal(struct object_id a, struct object_id b)
        return oideq(&a, &b);
 }
 
-KHASH_INIT(oid, struct object_id, int, 0, oid_hash, oid_equal)
+KHASH_INIT(oid_set, struct object_id, int, 0, oid_hash, oid_equal)
 
 KHASH_INIT(oid_map, struct object_id, void *, 1, oid_hash, oid_equal)
 
index fe4eb921df81bbabe1b95bd7f594235f360eec7d..8bdecb13de1e0d0f24bfccb27dd46cdf64b27cff 100644 (file)
--- a/oidset.c
+++ b/oidset.c
@@ -5,33 +5,33 @@ void oidset_init(struct oidset *set, size_t initial_size)
 {
        memset(&set->set, 0, sizeof(set->set));
        if (initial_size)
-               kh_resize_oid(&set->set, initial_size);
+               kh_resize_oid_set(&set->set, initial_size);
 }
 
 int oidset_contains(const struct oidset *set, const struct object_id *oid)
 {
-       khiter_t pos = kh_get_oid(&set->set, *oid);
+       khiter_t pos = kh_get_oid_set(&set->set, *oid);
        return pos != kh_end(&set->set);
 }
 
 int oidset_insert(struct oidset *set, const struct object_id *oid)
 {
        int added;
-       kh_put_oid(&set->set, *oid, &added);
+       kh_put_oid_set(&set->set, *oid, &added);
        return !added;
 }
 
 int oidset_remove(struct oidset *set, const struct object_id *oid)
 {
-       khiter_t pos = kh_get_oid(&set->set, *oid);
+       khiter_t pos = kh_get_oid_set(&set->set, *oid);
        if (pos == kh_end(&set->set))
                return 0;
-       kh_del_oid(&set->set, pos);
+       kh_del_oid_set(&set->set, pos);
        return 1;
 }
 
 void oidset_clear(struct oidset *set)
 {
-       kh_release_oid(&set->set);
+       kh_release_oid_set(&set->set);
        oidset_init(set, 0);
 }
index 14f18f791fea19301a41b650b860b0b432241e7a..505fad578bec1691fde9f28342d4c476c60dd50c 100644 (file)
--- a/oidset.h
+++ b/oidset.h
@@ -20,7 +20,7 @@
  * A single oidset; should be zero-initialized (or use OIDSET_INIT).
  */
 struct oidset {
-       kh_oid_t set;
+       kh_oid_set_t set;
 };
 
 #define OIDSET_INIT { { 0 } }
@@ -62,7 +62,7 @@ int oidset_remove(struct oidset *set, const struct object_id *oid);
 void oidset_clear(struct oidset *set);
 
 struct oidset_iter {
-       kh_oid_t *set;
+       kh_oid_set_t *set;
        khiter_t iter;
 };