]> 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)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Mon, 15 Jan 2018 09:18:16 +0000 (11:18 +0200)
src/lib-index/mail-index-private.h
src/lib-index/mail-index.c

index 82d157007ceda3589f7ef8750d9f2596616b7cfe..d280b46a7d4802a91d52c9a12815d621c7221923 100644 (file)
@@ -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);
index d717c0bee12a12c9a23801e15baabd9e0d2cc8c5..0cc024339ae6b22699606f2de47c08798bdfff5b 100644 (file)
@@ -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);