]> git.ipfire.org Git - thirdparty/git.git/commitdiff
oidset: introduce 'oidset_size'
authorTaylor Blau <me@ttaylorr.com>
Tue, 14 Apr 2020 04:04:22 +0000 (22:04 -0600)
committerJunio C Hamano <gitster@pobox.com>
Wed, 15 Apr 2020 16:20:29 +0000 (09:20 -0700)
Occasionally, it may be useful for callers to know the number of object
IDs in an oidset. Right now, the only way to compute this is to call
'kh_size' on the internal 'kh_set_oid_t'.

Similar to how we wrap other 'kh_*' functions over the 'oidset' type,
let's allow callers to compute this value by introducing 'oidset_size'.

We will add its first caller in the subsequent commit.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
oidset.c
oidset.h

index f63ce818f67766378485ab16075dd11e87c00ca0..15d4e18c37353bf0f186155de78f1af322fd855c 100644 (file)
--- a/oidset.c
+++ b/oidset.c
@@ -36,6 +36,11 @@ void oidset_clear(struct oidset *set)
        oidset_init(set, 0);
 }
 
+int oidset_size(struct oidset *set)
+{
+       return kh_size(&set->set);
+}
+
 void oidset_parse_file(struct oidset *set, const char *path)
 {
        FILE *fp;
index 5346563b0bccb602b8de745d1308793e8995a5e5..80c3a347f93d408c068779ae9a9edfdf12e3b822 100644 (file)
--- a/oidset.h
+++ b/oidset.h
@@ -55,6 +55,11 @@ int oidset_insert(struct oidset *set, const struct object_id *oid);
  */
 int oidset_remove(struct oidset *set, const struct object_id *oid);
 
+/**
+ * Returns the number of oids in the set.
+ */
+int oidset_size(struct oidset *set);
+
 /**
  * Remove all entries from the oidset, freeing any resources associated with
  * it.