diff options
author | Michal Schmidt <mschmidt@redhat.com> | 2014-08-13 01:00:18 +0200 |
---|---|---|
committer | Michal Schmidt <mschmidt@redhat.com> | 2014-09-15 16:08:50 +0200 |
commit | d5099efc47d4e6ac60816b5381a5f607ab03f06e (patch) | |
tree | 661308aae8a0885e90da25874e7df3e795532356 /src/journal/catalog.h | |
parent | f44541bc934c6e2b02155559e9eeb17a13a09558 (diff) |
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.
Diffstat (limited to 'src/journal/catalog.h')
-rw-r--r-- | src/journal/catalog.h | 3 |
1 files changed, 1 insertions, 2 deletions
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; |