changeset 20408:1702df9ab645

fts-lucene: Fixed crash on error or auto-rebuild conditions.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Wed, 22 Jun 2016 01:24:42 +0300
parents 3786bd9e2579
children 87a581ec8f18
files src/plugins/fts-lucene/lucene-wrapper.cc
diffstat 1 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/fts-lucene/lucene-wrapper.cc	Tue Jun 21 22:08:25 2016 +0300
+++ b/src/plugins/fts-lucene/lucene-wrapper.cc	Wed Jun 22 01:24:42 2016 +0300
@@ -820,15 +820,15 @@
 }
 
 static void
-rescan_clear_unseen_mailbox(struct rescan_context *rescan_ctx,
-			    struct mailbox_list *list,
+rescan_clear_unseen_mailbox(struct lucene_index *index,
+			    struct rescan_context *rescan_ctx,
 			    const char *vname,
 			    const struct fts_index_header *hdr)
 {
 	struct mailbox *box;
 	struct mailbox_metadata metadata;
 
-	box = mailbox_alloc(list, vname,
+	box = mailbox_alloc(index->list, vname,
 			    (enum mailbox_flags)0);
 	if (mailbox_open(box) == 0 &&
 	    mailbox_get_metadata(box, MAILBOX_METADATA_GUID,
@@ -861,7 +861,7 @@
 
 	iter = mailbox_list_iter_init(index->list, "*", iter_flags);
 	while ((info = mailbox_list_iter_next(iter)) != NULL)
-		rescan_clear_unseen_mailbox(rescan_ctx, index->list, info->vname, &hdr);
+		rescan_clear_unseen_mailbox(index, rescan_ctx, info->vname, &hdr);
 	(void)mailbox_list_iter_deinit(&iter);
 
 	if (ns->prefix_len > 0 &&
@@ -869,7 +869,7 @@
 		/* namespace prefix itself isn't returned by the listing */
 		vname = t_strndup(index->list->ns->prefix,
 				  index->list->ns->prefix_len-1);
-		rescan_clear_unseen_mailbox(rescan_ctx, index->list, vname, &hdr);
+		rescan_clear_unseen_mailbox(index, rescan_ctx, vname, &hdr);
 	}
 }