]> git.ipfire.org Git - thirdparty/git.git/blobdiff - oidmap.h
Merge branch 'pb/ref-filter-with-crlf'
[thirdparty/git.git] / oidmap.h
index d3cd2bb5902964554a16313cdb9ba4924e871e56..c66a83ab1d6891dbe6916d13339b64456b8cc440 100644 (file)
--- a/oidmap.h
+++ b/oidmap.h
@@ -1,6 +1,7 @@
 #ifndef OIDMAP_H
 #define OIDMAP_H
 
+#include "cache.h"
 #include "hashmap.h"
 
 /*
@@ -32,7 +33,7 @@ struct oidmap {
  * parameter may be used to preallocate a sufficiently large table and thus
  * prevent expensive resizing. If 0, the table is dynamically resized.
  */
-extern void oidmap_init(struct oidmap *map, size_t initial_size);
+void oidmap_init(struct oidmap *map, size_t initial_size);
 
 /*
  * Frees an oidmap structure and allocated memory.
@@ -40,13 +41,13 @@ extern void oidmap_init(struct oidmap *map, size_t initial_size);
  * If `free_entries` is true, each oidmap_entry in the map is freed as well
  * using stdlibs free().
  */
-extern void oidmap_free(struct oidmap *map, int free_entries);
+void oidmap_free(struct oidmap *map, int free_entries);
 
 /*
  * Returns the oidmap entry for the specified oid, or NULL if not found.
  */
-extern void *oidmap_get(const struct oidmap *map,
-                       const struct object_id *key);
+void *oidmap_get(const struct oidmap *map,
+                const struct object_id *key);
 
 /*
  * Adds or replaces an oidmap entry.
@@ -56,14 +57,14 @@ extern void *oidmap_get(const struct oidmap *map,
  *
  * Returns the replaced entry, or NULL if not found (i.e. the entry was added).
  */
-extern void *oidmap_put(struct oidmap *map, void *entry);
+void *oidmap_put(struct oidmap *map, void *entry);
 
 /*
  * Removes an oidmap entry matching the specified oid.
  *
  * Returns the removed entry, or NULL if not found.
  */
-extern void *oidmap_remove(struct oidmap *map, const struct object_id *key);
+void *oidmap_remove(struct oidmap *map, const struct object_id *key);
 
 
 struct oidmap_iter {
@@ -77,14 +78,16 @@ static inline void oidmap_iter_init(struct oidmap *map, struct oidmap_iter *iter
 
 static inline void *oidmap_iter_next(struct oidmap_iter *iter)
 {
-       return hashmap_iter_next(&iter->h_iter);
+       /* TODO: this API could be reworked to do compile-time type checks */
+       return (void *)hashmap_iter_next(&iter->h_iter);
 }
 
 static inline void *oidmap_iter_first(struct oidmap *map,
                                      struct oidmap_iter *iter)
 {
        oidmap_iter_init(map, iter);
-       return oidmap_iter_next(iter);
+       /* TODO: this API could be reworked to do compile-time type checks */
+       return (void *)oidmap_iter_next(iter);
 }
 
 #endif