]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-index: Add mail_index_set_error_nolog()
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 25 Dec 2017 16:17:57 +0000 (18:17 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 25 Dec 2017 16:17:57 +0000 (18:17 +0200)
src/lib-index/mail-index-private.h
src/lib-index/mail-index.c

index b1a94a82c5bea52cc7317cd308f8137dffea091d..4350b1cfe54345d2de90330bd03380c74f14fcde 100644 (file)
@@ -338,8 +338,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);
index 0c275e3b22fd97736270584b3b95832cce85fce2..5f9e02a1c77838d23b5ce7225376a07e282bba8d 100644 (file)
@@ -915,6 +915,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);