]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Store number of elements in maps
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 26 Apr 2018 14:37:11 +0000 (15:37 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 26 Apr 2018 14:37:11 +0000 (15:37 +0100)
src/libutil/map_helpers.c
src/libutil/map_private.h

index b7d6acb490f3fb1749c8392376b34c7a3e4cb1b4..574017bda9fc473492fab2b2b252742a8590a726 100644 (file)
@@ -795,6 +795,7 @@ rspamd_kv_list_fin (struct map_cb_data *data)
                htb = (struct rspamd_hash_map_helper *)data->cur_data;
                msg_info_map ("read hash of %d elements", kh_size (htb->htb));
                data->map->traverse_function = rspamd_map_helper_traverse_hash;
+               data->map->nelts = kh_size (htb->htb);
        }
 }
 
@@ -838,6 +839,7 @@ rspamd_radix_fin (struct map_cb_data *data)
                msg_info_map ("read radix trie of %z elements: %s",
                                radix_get_size (r->trie), radix_get_info (r->trie));
                data->map->traverse_function = rspamd_map_helper_traverse_radix;
+               data->map->nelts = kh_size (r->htb);
        }
 }
 
@@ -1016,6 +1018,7 @@ rspamd_regexp_list_fin (struct map_cb_data *data)
                msg_info_map ("read regexp list of %ud elements",
                                re_map->regexps->len);
                data->map->traverse_function = rspamd_map_helper_traverse_regexp;
+               data->map->nelts = kh_size (re_map->htb);
        }
 }
 
index eea616591f210d69cb9c61b43bc58638b82746f6..0720aa2e80e7b1617cd3bf8fa2b45b4b85ea9917 100644 (file)
@@ -118,6 +118,7 @@ struct rspamd_map {
        gpointer dtor_data;
        rspamd_map_traverse_function traverse_function;
        gpointer lua_map;
+       gsize nelts;
        /* Should we check HTTP or just load cached data */
        struct timeval tv;
        gdouble poll_timeout;