From 495393c53d4eeaee4ddb429aa71e9b9b249209db Mon Sep 17 00:00:00 2001 From: Timo Sirainen <timo.sirainen@dovecot.fi> Date: Fri, 6 May 2016 17:40:25 +0300 Subject: [PATCH] Adjusted to changes in Dovecot lib-dict API. --- src/lib-sieve/storage/dict/sieve-dict-script.c | 14 +++++++------- src/lib-sieve/storage/dict/sieve-dict-storage.c | 7 +++++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/lib-sieve/storage/dict/sieve-dict-script.c b/src/lib-sieve/storage/dict/sieve-dict-script.c index 1e72ea53a..c3e43787a 100644 --- a/src/lib-sieve/storage/dict/sieve-dict-script.c +++ b/src/lib-sieve/storage/dict/sieve-dict-script.c @@ -71,7 +71,7 @@ static int sieve_dict_script_open struct sieve_dict_storage *dstorage = (struct sieve_dict_storage *)storage; const char *name = script->name; - const char *path, *data_id; + const char *path, *data_id, *error; int ret; if ( sieve_dict_storage_get_dict @@ -82,11 +82,11 @@ static int sieve_dict_script_open (DICT_SIEVE_NAME_PATH, dict_escape_string(name), NULL); ret = dict_lookup - (dscript->dict, script->pool, path, &data_id); + (dscript->dict, script->pool, path, &data_id, &error); if ( ret <= 0 ) { if ( ret < 0 ) { sieve_script_set_critical(script, - "Failed to lookup script id from path %s", path); + "Failed to lookup script id from path %s: %s", path, error); *error_r = SIEVE_ERROR_TEMP_FAILURE; } else { sieve_script_sys_debug(script, @@ -109,7 +109,7 @@ static int sieve_dict_script_get_stream { struct sieve_dict_script *dscript = (struct sieve_dict_script *)script; - const char *path, *name = script->name, *data; + const char *path, *name = script->name, *data, *error; int ret; dscript->data_pool = @@ -119,13 +119,13 @@ static int sieve_dict_script_get_stream (DICT_SIEVE_DATA_PATH, dict_escape_string(dscript->data_id), NULL); ret = dict_lookup - (dscript->dict, dscript->data_pool, path, &data); + (dscript->dict, dscript->data_pool, path, &data, &error); if ( ret <= 0 ) { if ( ret < 0 ) { sieve_script_set_critical(script, "Failed to lookup data with id `%s' " - "for script `%s' from path %s", - dscript->data_id, name, path); + "for script `%s' from path %s: %s", + dscript->data_id, name, path, error); } else { sieve_script_set_critical(script, "Data with id `%s' for script `%s' " diff --git a/src/lib-sieve/storage/dict/sieve-dict-storage.c b/src/lib-sieve/storage/dict/sieve-dict-storage.c index 902563d09..2a82a6437 100644 --- a/src/lib-sieve/storage/dict/sieve-dict-storage.c +++ b/src/lib-sieve/storage/dict/sieve-dict-storage.c @@ -88,12 +88,15 @@ int sieve_dict_storage_get_dict { struct sieve_storage *storage = &dstorage->storage; struct sieve_instance *svinst = storage->svinst; + struct dict_settings dict_set; const char *error; int ret; if ( dstorage->dict == NULL ) { - ret = dict_init(dstorage->uri, DICT_DATA_TYPE_STRING, - dstorage->username, svinst->base_dir, &dstorage->dict, &error); + memset(&dict_set, 0, sizeof(dict_set)); + dict_set.username = dstorage->username; + dict_set.base_dir = svinst->base_dir; + ret = dict_init(dstorage->uri, &dict_set, &dstorage->dict, &error); if ( ret < 0 ) { sieve_storage_set_critical(storage, "Failed to initialize dict with data `%s' for user `%s': %s", -- GitLab