changeset 11888:4513949b26b3

doveadm expunge: Check if search query is ok only once, not for each user.
author Timo Sirainen <tss@iki.fi>
date Thu, 22 Jul 2010 18:25:09 +0100
parents 05031751cc21
children 45473cd0e3e6
files src/doveadm/doveadm-mail-expunge.c
diffstat 1 files changed, 10 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/doveadm/doveadm-mail-expunge.c	Thu Jul 22 17:06:16 2010 +0100
+++ b/src/doveadm/doveadm-mail-expunge.c	Thu Jul 22 18:25:09 2010 +0100
@@ -171,16 +171,6 @@
 	struct doveadm_mail_list_iter *iter;
 	const struct mailbox_info *info;
 
-	if (!expunge_search_args_is_mailbox_ok(ctx->search_args->args)) {
-		i_fatal("expunge: To avoid accidents, search query "
-			"must contain MAILBOX in all search branches");
-	}
-	if (!expunge_search_args_is_msgset_ok(ctx->search_args->args)) {
-		i_fatal("expunge: To avoid accidents, each branch in "
-			"search query must contain something else "
-			"besides MAILBOX");
-	}
-
 	iter = doveadm_mail_list_iter_init(user, ctx->search_args, iter_flags);
 	while ((info = doveadm_mail_list_iter_next(iter)) != NULL) T_BEGIN {
 		(void)cmd_expunge_box(info, ctx->search_args);
@@ -196,6 +186,16 @@
 
 	ctx->search_args = doveadm_mail_build_search_args(args);
 	mail_search_args_simplify(ctx->search_args);
+
+	if (!expunge_search_args_is_mailbox_ok(ctx->search_args->args)) {
+		i_fatal("expunge: To avoid accidents, search query "
+			"must contain MAILBOX in all search branches");
+	}
+	if (!expunge_search_args_is_msgset_ok(ctx->search_args->args)) {
+		i_fatal("expunge: To avoid accidents, each branch in "
+			"search query must contain something else "
+			"besides MAILBOX");
+	}
 }
 
 static struct doveadm_mail_cmd_context *cmd_expunge_alloc(void)