From 161c62de6d5f48a7c3158f7b5a7c0a1049f06e72 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan.bosch@open-xchange.com> Date: Sat, 19 Oct 2024 22:00:09 +0200 Subject: [PATCH] lib-sieve: storage - Add sieve_storage_set_not_found_error() --- src/lib-sieve/sieve-storage-private.h | 2 ++ src/lib-sieve/sieve-storage.c | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/lib-sieve/sieve-storage-private.h b/src/lib-sieve/sieve-storage-private.h index 375d78952..81bd130b8 100644 --- a/src/lib-sieve/sieve-storage-private.h +++ b/src/lib-sieve/sieve-storage-private.h @@ -220,6 +220,8 @@ extern const struct sieve_storage sieve_ldap_storage; */ void sieve_storage_set_internal_error(struct sieve_storage *storage); +void sieve_storage_set_not_found_error(struct sieve_storage *storage, + const char *name); void sieve_storage_copy_error(struct sieve_storage *storage, const struct sieve_storage *source); diff --git a/src/lib-sieve/sieve-storage.c b/src/lib-sieve/sieve-storage.c index 1467d9917..706533b94 100644 --- a/src/lib-sieve/sieve-storage.c +++ b/src/lib-sieve/sieve-storage.c @@ -1592,6 +1592,19 @@ void sieve_storage_set_critical(struct sieve_storage *storage, } } +void sieve_storage_set_not_found_error(struct sieve_storage *storage, + const char *name) +{ + enum sieve_error error_code; + const char *error; + + sieve_storage_clear_error(storage); + name = (name == NULL || *name == '\0' ? storage->script_name : name); + sieve_error_create_script_not_found(name, &error_code, &error); + storage->error_code = error_code; + storage->error = i_strdup(error); +} + const char * sieve_storage_get_last_error(struct sieve_storage *storage, enum sieve_error *error_code_r) -- GitLab