summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaylor Blau <me@ttaylorr.com>2020-04-14 04:04:22 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-04-15 16:20:29 (GMT)
commitf4781068faafad5e10fb6e8ae312ebd5b0e7bb55 (patch)
tree69daf700e92b80bf5c12e0690741f8298ef1df15
parent8a6ac287b2ba5f75bb2d9409dd97e9b501daf253 (diff)
downloadgit-f4781068faafad5e10fb6e8ae312ebd5b0e7bb55.zip
git-f4781068faafad5e10fb6e8ae312ebd5b0e7bb55.tar.gz
git-f4781068faafad5e10fb6e8ae312ebd5b0e7bb55.tar.bz2
oidset: introduce 'oidset_size'
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>
-rw-r--r--oidset.c5
-rw-r--r--oidset.h5
2 files changed, 10 insertions, 0 deletions
diff --git a/oidset.c b/oidset.c
index f63ce81..15d4e18 100644
--- 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;
diff --git a/oidset.h b/oidset.h
index 5346563..80c3a34 100644
--- a/oidset.h
+++ b/oidset.h
@@ -56,6 +56,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.
*/