changeset 22738:ebcec70f78ca

lib-index: Add mail_index_set_error_nolog()
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Mon, 25 Dec 2017 18:17:57 +0200
parents 6ac046791ed4
children 833b129bf451
files src/lib-index/mail-index-private.h src/lib-index/mail-index.c
diffstat 2 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-index/mail-index-private.h	Thu Dec 07 08:20:02 2017 +0200
+++ b/src/lib-index/mail-index-private.h	Mon Dec 25 18:17:57 2017 +0200
@@ -335,8 +335,12 @@
 
 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);
--- a/src/lib-index/mail-index.c	Thu Dec 07 08:20:02 2017 +0200
+++ b/src/lib-index/mail-index.c	Mon Dec 25 18:17:57 2017 +0200
@@ -878,6 +878,15 @@
 	}
 }
 
+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);