X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=oidmap.h;h=c66a83ab1d6891dbe6916d13339b64456b8cc440;hb=1b14d40b385580a366c92f8c2a9373e6fd7cb26f;hp=d3cd2bb5902964554a16313cdb9ba4924e871e56;hpb=9ac92fed5b63176e653c3c42e2b66cdd203c906f;p=thirdparty%2Fgit.git diff --git a/oidmap.h b/oidmap.h index d3cd2bb590..c66a83ab1d 100644 --- 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