]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Simplify declaring of backends.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 18 Jun 2015 14:15:15 +0000 (15:15 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 18 Jun 2015 14:15:15 +0000 (15:15 +0100)
src/libstat/stat_config.c

index 8c935ec4e7a5454e56cad2a9e2d30929463bb0d8..91cca76c7c65f7b1408a55a2beb12eb974465566 100644 (file)
@@ -55,19 +55,22 @@ static struct rspamd_stat_tokenizer stat_tokenizers[] = {
        },
 };
 
-static struct rspamd_stat_backend stat_backends[] = {
-       {
-               .name = RSPAMD_DEFAULT_BACKEND,
-               .init = rspamd_mmaped_file_init,
-               .runtime = rspamd_mmaped_file_runtime,
-               .process_token = rspamd_mmaped_file_process_token,
-               .learn_token = rspamd_mmaped_file_learn_token,
-               .finalize_learn = rspamd_mmaped_file_finalize_learn,
-               .total_learns = rspamd_mmaped_file_total_learns,
-               .inc_learns = rspamd_mmaped_file_inc_learns,
-               .dec_learns = rspamd_mmaped_file_dec_learns,
-               .get_stat = rspamd_mmaped_file_get_stat
+#define RSPAMD_STAT_BACKEND_ELT(nam, eltn) { \
+               .name = #nam, \
+               .init = rspamd_##eltn##_init, \
+               .runtime = rspamd_##eltn##_runtime, \
+               .process_token = rspamd_##eltn##_process_token, \
+               .learn_token = rspamd_##eltn##_learn_token, \
+               .finalize_learn = rspamd_##eltn##_finalize_learn, \
+               .total_learns = rspamd_##eltn##_total_learns, \
+               .inc_learns = rspamd_##eltn##_inc_learns, \
+               .dec_learns = rspamd_##eltn##_dec_learns, \
+               .get_stat = rspamd_##eltn##_get_stat \
        }
+
+static struct rspamd_stat_backend stat_backends[] = {
+               RSPAMD_STAT_BACKEND_ELT(mmap, mmaped_file),
+               RSPAMD_STAT_BACKEND_ELT(sqlite3, sqlite3)
 };
 
 static struct rspamd_stat_cache stat_caches[] = {