From 1fa986698913636816f9259059cebaae3ef25520 Mon Sep 17 00:00:00 2001
From: Vsevolod Stakhov <vsevolod@highsecure.ru>
Date: Thu, 18 Jun 2015 15:15:15 +0100
Subject: Simplify declaring of backends.

---
 src/libstat/stat_config.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

(limited to 'src/libstat')

diff --git a/src/libstat/stat_config.c b/src/libstat/stat_config.c
index 8c935ec4e..91cca76c7 100644
--- a/src/libstat/stat_config.c
+++ b/src/libstat/stat_config.c
@@ -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[] = {
-- 
cgit v1.2.3