oidset: uninline oidset_init()
authorRené Scharfe <l.s.r@web.de>
Thu, 4 Oct 2018 15:14:37 +0000 (17:14 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 4 Oct 2018 18:12:14 +0000 (11:12 -0700)
There is no need to inline oidset_init(), as it's typically only called
twice in the lifetime of an oidset (once at the beginning and at the end
by oidset_clear()) and kh_resize_* is quite big, so move its definition
to oidset.c. Document it while we're at it.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
oidset.c
oidset.h
index 9836d427efcba2c75e34c4077cf96b12c71e9610..fe4eb921df81bbabe1b95bd7f594235f360eec7d 100644 (file)
--- a/oidset.c
+++ b/oidset.c
@@ -1,6 +1,13 @@
 #include "cache.h"
 #include "oidset.h"
 
+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);
+}
+
 int oidset_contains(const struct oidset *set, const struct object_id *oid)
 {
        khiter_t pos = kh_get_oid(&set->set, *oid);
index 4b90540cd40eaffa9b1635f52731694ad28a29da..c9d0f6d3cc8b99959d8637dcbf8ecb235021104e 100644 (file)
--- a/oidset.h
+++ b/oidset.h
@@ -38,12 +38,13 @@ struct oidset {
 #define OIDSET_INIT { { 0 } }
 
 
-static inline 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);
-}
+/**
+ * Initialize the oidset structure `set`.
+ *
+ * If `initial_size` is bigger than 0 then preallocate to allow inserting
+ * the specified number of elements without further allocations.
+ */
+void oidset_init(struct oidset *set, size_t initial_size);
 
 /**
  * Returns true iff `set` contains `oid`.