diff --git a/lib/ext2fs/hashmap.c b/lib/ext2fs/hashmap.c index ffe61ce..3d8ee81 100644 --- a/lib/ext2fs/hashmap.c +++ b/lib/ext2fs/hashmap.c @@ -1,22 +1,6 @@ #include "hashmap.h" #include -struct ext2fs_hashmap { - uint32_t size; - uint32_t(*hash)(const void *key, size_t len); - void(*free)(void*); - struct ext2fs_hashmap_entry *first; - struct ext2fs_hashmap_entry *last; -#if __GNUC_PREREQ (4, 8) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wpedantic" -#endif - struct ext2fs_hashmap_entry *entries[0]; -#if __GNUC_PREREQ (4, 8) -#pragma GCC diagnostic pop -#endif -}; - uint32_t ext2fs_djb2_hash(const void *str, size_t size) { int c; diff --git a/lib/ext2fs/hashmap.h b/lib/ext2fs/hashmap.h index dcfa745..656d3d9 100644 --- a/lib/ext2fs/hashmap.h +++ b/lib/ext2fs/hashmap.h @@ -13,15 +13,27 @@ #endif #endif -struct ext2fs_hashmap; - -struct ext2fs_hashmap_entry { - void *data; - const void *key; - size_t key_len; - struct ext2fs_hashmap_entry *next; - struct ext2fs_hashmap_entry *list_next; - struct ext2fs_hashmap_entry *list_prev; +struct ext2fs_hashmap { + uint32_t size; + uint32_t(*hash)(const void *key, size_t len); + void(*free)(void*); + struct ext2fs_hashmap_entry *first; + struct ext2fs_hashmap_entry *last; + struct ext2fs_hashmap_entry { + void *data; + const void *key; + size_t key_len; + struct ext2fs_hashmap_entry *next; + struct ext2fs_hashmap_entry *list_next; + struct ext2fs_hashmap_entry *list_prev; +#if __GNUC_PREREQ (4, 8) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" +#endif + } *entries[0]; +#if __GNUC_PREREQ (4, 8) +#pragma GCC diagnostic pop +#endif }; struct ext2fs_hashmap *ext2fs_hashmap_create(