Skip to content
Snippets Groups Projects
Commit 5dad5d7f authored by Stephan Bosch's avatar Stephan Bosch Committed by Timo Sirainen
Browse files

lib-sieve: sieve-storage - Add event parameter to sieve_storage_create()

parent bad55b5f
No related branches found
No related tags found
No related merge requests found
...@@ -163,7 +163,8 @@ ext_include_open_script_global(struct sieve_instance *svinst, ...@@ -163,7 +163,8 @@ ext_include_open_script_global(struct sieve_instance *svinst,
return -1; return -1;
} }
if (extctx->global_storage == NULL && if (extctx->global_storage == NULL &&
sieve_storage_create(svinst, extctx->global_location, 0, sieve_storage_create(svinst, svinst->event,
extctx->global_location, 0,
&extctx->global_storage, error_code_r) < 0) &extctx->global_storage, error_code_r) < 0)
return -1; return -1;
......
...@@ -130,7 +130,7 @@ int sieve_script_create(struct sieve_instance *svinst, ...@@ -130,7 +130,7 @@ int sieve_script_create(struct sieve_instance *svinst,
*script_r = NULL; *script_r = NULL;
sieve_error_args_init(&error_code_r, NULL); sieve_error_args_init(&error_code_r, NULL);
if (sieve_storage_create(svinst, location, 0, if (sieve_storage_create(svinst, svinst->event, location, 0,
&storage, error_code_r) < 0) &storage, error_code_r) < 0)
return -1; return -1;
......
...@@ -398,7 +398,8 @@ sieve_storage_init(struct sieve_instance *svinst, struct event *event_parent, ...@@ -398,7 +398,8 @@ sieve_storage_init(struct sieve_instance *svinst, struct event *event_parent,
return ret; return ret;
} }
int sieve_storage_create(struct sieve_instance *svinst, const char *location, int sieve_storage_create(struct sieve_instance *svinst, struct event *event,
const char *location,
enum sieve_storage_flags flags, enum sieve_storage_flags flags,
struct sieve_storage **storage_r, struct sieve_storage **storage_r,
enum sieve_error *error_code_r) enum sieve_error *error_code_r)
...@@ -423,7 +424,7 @@ int sieve_storage_create(struct sieve_instance *svinst, const char *location, ...@@ -423,7 +424,7 @@ int sieve_storage_create(struct sieve_instance *svinst, const char *location,
if (ret == 0) if (ret == 0)
storage_class = &sieve_file_storage; storage_class = &sieve_file_storage;
return sieve_storage_init(svinst, svinst->event, storage_class, return sieve_storage_init(svinst, event, storage_class,
data, flags, FALSE, data, flags, FALSE,
storage_r, error_code_r); storage_r, error_code_r);
} }
...@@ -577,7 +578,8 @@ int sieve_storage_create_personal(struct sieve_instance *svinst, ...@@ -577,7 +578,8 @@ int sieve_storage_create_personal(struct sieve_instance *svinst,
"Trying default script location '%s'", "Trying default script location '%s'",
set_default); set_default);
ret = sieve_storage_create(svinst, set_default, 0, ret = sieve_storage_create(svinst, svinst->event,
set_default, 0,
&storage, error_code_r); &storage, error_code_r);
if (ret < 0) { if (ret < 0) {
switch (*error_code_r) { switch (*error_code_r) {
...@@ -1669,6 +1671,8 @@ int sieve_storage_sequence_next(struct sieve_storage_sequence *sseq, ...@@ -1669,6 +1671,8 @@ int sieve_storage_sequence_next(struct sieve_storage_sequence *sseq,
struct sieve_storage **storage_r, struct sieve_storage **storage_r,
enum sieve_error *error_code_r) enum sieve_error *error_code_r)
{ {
struct sieve_instance *svinst = sseq->svinst;
*storage_r = NULL; *storage_r = NULL;
sieve_error_args_init(&error_code_r, NULL); sieve_error_args_init(&error_code_r, NULL);
...@@ -1676,7 +1680,7 @@ int sieve_storage_sequence_next(struct sieve_storage_sequence *sseq, ...@@ -1676,7 +1680,7 @@ int sieve_storage_sequence_next(struct sieve_storage_sequence *sseq,
return 0; return 0;
sseq->done = TRUE; sseq->done = TRUE;
if (sieve_storage_create(sseq->svinst, sseq->location, 0, if (sieve_storage_create(svinst, svinst->event, sseq->location, 0,
storage_r, error_code_r) < 0) storage_r, error_code_r) < 0)
return -1; return -1;
return 1; return 1;
......
...@@ -29,7 +29,8 @@ struct sieve_storage; ...@@ -29,7 +29,8 @@ struct sieve_storage;
bool sieve_storage_class_exists(struct sieve_instance *svinst, bool sieve_storage_class_exists(struct sieve_instance *svinst,
const char *name); const char *name);
int sieve_storage_create(struct sieve_instance *svinst, const char *location, int sieve_storage_create(struct sieve_instance *svinst, struct event *event,
const char *location,
enum sieve_storage_flags flags, enum sieve_storage_flags flags,
struct sieve_storage **storage_r, struct sieve_storage **storage_r,
enum sieve_error *error_code_r); enum sieve_error *error_code_r);
......
...@@ -253,7 +253,7 @@ imap_filter_sieve_get_global_storage(struct imap_filter_sieve_context *sctx, ...@@ -253,7 +253,7 @@ imap_filter_sieve_get_global_storage(struct imap_filter_sieve_context *sctx,
*error_r = "No global Sieve scripts available"; *error_r = "No global Sieve scripts available";
return -1; return -1;
} }
if (sieve_storage_create(svinst, location, 0, if (sieve_storage_create(svinst, svinst->event, location, 0,
&ifsuser->global_storage, &error_code) == 0) { &ifsuser->global_storage, &error_code) == 0) {
*storage_r = ifsuser->global_storage; *storage_r = ifsuser->global_storage;
return 0; return 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment

Consent

On this website, we use the web analytics service Matomo to analyze and review the use of our website. Through the collected statistics, we can improve our offerings and make them more appealing for you. Here, you can decide whether to allow us to process your data and set corresponding cookies for these purposes, in addition to technically necessary cookies. Further information on data protection—especially regarding "cookies" and "Matomo"—can be found in our privacy policy. You can withdraw your consent at any time.