From d5099efc47d4e6ac60816b5381a5f607ab03f06e Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Wed, 13 Aug 2014 01:00:18 +0200 Subject: hashmap: introduce hash_ops to make struct Hashmap smaller It is redundant to store 'hash' and 'compare' function pointers in struct Hashmap separately. The functions always comprise a pair. Store a single pointer to struct hash_ops instead. systemd keeps hundreds of hashmaps, so this saves a little bit of memory. --- src/journal/catalog.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/journal/catalog.h') diff --git a/src/journal/catalog.h b/src/journal/catalog.h index fdde67aeed..a72ecf6de7 100644 --- a/src/journal/catalog.h +++ b/src/journal/catalog.h @@ -28,11 +28,10 @@ #include "strbuf.h" int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path); -unsigned long catalog_hash_func(const void *p, const uint8_t hash_key[HASH_KEY_SIZE]); -int catalog_compare_func(const void *a, const void *b) _pure_; int catalog_update(const char* database, const char* root, const char* const* dirs); int catalog_get(const char* database, sd_id128_t id, char **data); int catalog_list(FILE *f, const char* database, bool oneline); int catalog_list_items(FILE *f, const char* database, bool oneline, char **items); int catalog_file_lang(const char *filename, char **lang); extern const char * const catalog_file_dirs[]; +extern const struct hash_ops catalog_hash_ops; -- cgit v1.2.3-54-g00ecf