diff src/lib-dict/dict-fs.c @ 17751:77e71a45a475

lib-dict: Changed dict.init() API to take struct dict_settings and added dict_init_full(). This allows giving more settings to dict in future as needed. Unfortunately it also breaks the internal dict API, but there aren't really any plugins widely using it, so it's not a big problem.
author Timo Sirainen <tss@iki.fi>
date Thu, 28 Aug 2014 21:56:41 +0900
parents add8c00fb3cc
children 979e5a007248
line wrap: on
line diff
--- a/src/lib-dict/dict-fs.c	Thu Aug 28 22:06:29 2014 +0900
+++ b/src/lib-dict/dict-fs.c	Thu Aug 28 21:56:41 2014 +0900
@@ -16,10 +16,8 @@
 
 static int
 fs_dict_init(struct dict *driver, const char *uri,
-	     enum dict_data_type value_type ATTR_UNUSED,
-	     const char *username,
-	     const char *base_dir, struct dict **dict_r,
-	     const char **error_r)
+	     const struct dict_settings *set,
+	     struct dict **dict_r, const char **error_r)
 {
 	struct fs_settings fs_set;
 	struct fs *fs;
@@ -36,14 +34,15 @@
 	}
 
 	memset(&fs_set, 0, sizeof(fs_set));
-	fs_set.base_dir = base_dir;
+	fs_set.username = set->username;
+	fs_set.base_dir = set->base_dir;
 	if (fs_init(fs_driver, fs_args, &fs_set, &fs, error_r) < 0)
 		return -1;
 
 	dict = i_new(struct fs_dict, 1);
 	dict->dict = *driver;
 	dict->fs = fs;
-	dict->username = i_strdup(username);
+	dict->username = i_strdup(set->username);
 
 	*dict_r = &dict->dict;
 	return 0;