changeset 22105:318a0fa3e49d

lib-storage: Rename autocreate_iter_existing to mailbox_list_iter_autocreate_filter It makes next commit possible
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Wed, 17 May 2017 15:19:44 +0300
parents 48151d18f8cb
children acd511be5cb5
files src/lib-storage/list/mailbox-list-iter.c src/lib-storage/mailbox-list-private.h
diffstat 2 files changed, 12 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/list/mailbox-list-iter.c	Wed May 17 12:16:31 2017 +0300
+++ b/src/lib-storage/list/mailbox-list-iter.c	Wed May 17 15:19:44 2017 +0300
@@ -817,11 +817,15 @@
 	return result;
 }
 
-static const struct mailbox_info *
-autocreate_iter_existing(struct mailbox_list_iterate_context *ctx)
+const struct mailbox_info *
+mailbox_list_iter_autocreate_filter(struct mailbox_list_iterate_context *ctx,
+				    const struct mailbox_info *_info)
 {
 	struct mailbox_list_autocreate_iterate_context *actx =
 		ctx->autocreate_ctx;
+	if (actx == NULL || _info == NULL)
+		return _info;
+	actx->new_info = *_info;
 	struct mailbox_info *info = &actx->new_info;
 	enum autocreate_match_result match, match2;
 	unsigned int idx;
@@ -976,12 +980,7 @@
 		}
 	}
 
-	if (info != NULL && ctx->autocreate_ctx != NULL) {
-	        ctx->autocreate_ctx->new_info = *info;
-	        return autocreate_iter_existing(ctx);
-	}
-
-	return info;
+	return mailbox_list_iter_autocreate_filter(ctx, info);
 }
 
 const struct mailbox_info *
--- a/src/lib-storage/mailbox-list-private.h	Wed May 17 12:16:31 2017 +0300
+++ b/src/lib-storage/mailbox-list-private.h	Wed May 17 15:19:44 2017 +0300
@@ -235,4 +235,9 @@
 void mailbox_list_set_internal_error(struct mailbox_list *list);
 bool mailbox_list_set_error_from_errno(struct mailbox_list *list);
 
+const struct mailbox_info *
+mailbox_list_iter_autocreate_filter(struct mailbox_list_iterate_context *ctx,
+				    const struct mailbox_info *_info);
+
+
 #endif