dovecot-2.0: imap: Fixed parsing SELECT QRESYNC parameters

dovecot at dovecot.org dovecot at dovecot.org
Mon Aug 23 18:09:17 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/17174c55008b
changeset: 12032:17174c55008b
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Aug 23 15:31:37 2010 +0100
description:
imap: Fixed parsing SELECT QRESYNC parameters

diffstat:

 src/imap/cmd-select.c |  21 ++++++++++-----------
 1 files changed, 10 insertions(+), 11 deletions(-)

diffs (37 lines):

diff -r 04fc57a7a425 -r 17174c55008b src/imap/cmd-select.c
--- a/src/imap/cmd-select.c	Mon Aug 23 15:28:55 2010 +0100
+++ b/src/imap/cmd-select.c	Mon Aug 23 15:31:37 2010 +0100
@@ -130,23 +130,22 @@
 	}
 	args += 2;
 
-	if (!imap_arg_get_atom(args, &str)) {
-		i_array_init(&ctx->qresync_known_uids, 64);
-		seq_range_array_add_range(&ctx->qresync_known_uids,
-					  1, (uint32_t)-1);
-	} else {
-		i_array_init(&ctx->qresync_known_uids, 64);
+	i_array_init(&ctx->qresync_known_uids, 64);
+	if (imap_arg_get_atom(args, &str)) {
 		if (imap_seq_set_nostar_parse(str, &ctx->qresync_known_uids) < 0) {
 			client_send_command_error(ctx->cmd,
 						  "Invalid QRESYNC known-uids");
 			return FALSE;
 		}
 		args++;
-		if (imap_arg_get_list(args, &list_args)) {
-			if (!select_parse_qresync_known_set(ctx, list_args))
-				return FALSE;
-			args++;
-		}
+	} else {
+		seq_range_array_add_range(&ctx->qresync_known_uids,
+					  1, (uint32_t)-1);
+	}
+	if (imap_arg_get_list(args, &list_args)) {
+		if (!select_parse_qresync_known_set(ctx, list_args))
+			return FALSE;
+		args++;
 	}
 	if (!IMAP_ARG_IS_EOL(args)) {
 		client_send_command_error(ctx->cmd,


More information about the dovecot-cvs mailing list