{
struct mailbox_log_record rec;
- if (!mailbox_list_init_changelog(list) ||
+ if (!mailbox_list_init_changelog(list) || list->changelog_disabled ||
mail_guid_128_is_empty(mailbox_guid))
return;
return !mailbox_list_init_changelog(list) ? NULL : list->changelog;
}
+void mailbox_list_set_changelog_writable(struct mailbox_list *list, bool set)
+{
+ list->changelog_disabled = !set;
+}
+
static int mailbox_list_try_delete(struct mailbox_list *list, const char *dir)
{
if (unlink_directory(dir, TRUE) == 0 || errno == ENOENT)
uint8_t mailbox_guid[MAIL_GUID_128_SIZE]);
/* Returns mailbox's change log, or NULL if it doesn't have one. */
struct mailbox_log *mailbox_list_get_changelog(struct mailbox_list *list);
-
+/* Enable/disable writing mailbox changes to changelog. */
+void mailbox_list_set_changelog_writable(struct mailbox_list *list, bool set);
/* Returns a prefix that temporary files should use without conflicting
with the namespace. */