From: Timo Sirainen Date: Mon, 25 Dec 2017 16:17:57 +0000 (+0200) Subject: lib-index: Add mail_index_set_error_nolog() X-Git-Tag: 2.2.34~151 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=98732c035e42d48a1de060a5f12f7edc5f3c6fe3;p=thirdparty%2Fdovecot%2Fcore.git lib-index: Add mail_index_set_error_nolog() --- diff --git a/src/lib-index/mail-index-private.h b/src/lib-index/mail-index-private.h index 82d157007c..d280b46a7d 100644 --- a/src/lib-index/mail-index-private.h +++ b/src/lib-index/mail-index-private.h @@ -335,8 +335,12 @@ void mail_index_view_transaction_unref(struct mail_index_view *view); void mail_index_fsck_locked(struct mail_index *index); +/* Log an error and set it as the index's current error that is available + with mail_index_get_error_message(). */ void mail_index_set_error(struct mail_index *index, const char *fmt, ...) ATTR_FORMAT(2, 3); +/* Same as mail_index_set_error(), but don't log the error. */ +void mail_index_set_error_nolog(struct mail_index *index, const char *str); /* "%s failed with index file %s: %m" */ void mail_index_set_syscall_error(struct mail_index *index, const char *function); diff --git a/src/lib-index/mail-index.c b/src/lib-index/mail-index.c index d717c0bee1..0cc024339a 100644 --- a/src/lib-index/mail-index.c +++ b/src/lib-index/mail-index.c @@ -878,6 +878,15 @@ void mail_index_set_error(struct mail_index *index, const char *fmt, ...) } } +void mail_index_set_error_nolog(struct mail_index *index, const char *str) +{ + i_assert(str != NULL); + + char *old_error = index->error; + index->error = i_strdup(str); + i_free(old_error); +} + bool mail_index_is_in_memory(struct mail_index *index) { return MAIL_INDEX_IS_IN_MEMORY(index);