dovecot-1.2: Avoid calling imap_parser_*() directly. It's not re...

dovecot at dovecot.org dovecot at dovecot.org
Fri Feb 6 20:10:13 EET 2009


details:   http://hg.dovecot.org/dovecot-1.2/rev/d2c357625ef2
changeset: 8727:d2c357625ef2
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Feb 06 13:10:06 2009 -0500
description:
Avoid calling imap_parser_*() directly. It's not required.

diffstat:

3 files changed, 7 insertions(+), 33 deletions(-)
src/imap/cmd-search.c |   14 +++-----------
src/imap/cmd-sort.c   |   11 +----------
src/imap/cmd-thread.c |   15 +++------------

diffs (86 lines):

diff -r 68db63cc32b3 -r d2c357625ef2 src/imap/cmd-search.c
--- a/src/imap/cmd-search.c	Fri Feb 06 12:49:46 2009 -0500
+++ b/src/imap/cmd-search.c	Fri Feb 06 13:10:06 2009 -0500
@@ -9,19 +9,11 @@ bool cmd_search(struct client_command_co
 	struct imap_search_context *ctx;
 	struct mail_search_args *sargs;
 	const struct imap_arg *args;
-	int ret, args_count;
 	const char *charset;
+	int ret;
 
-	args_count = imap_parser_read_args(cmd->parser, 0, 0, &args);
-	if (args_count < 1) {
-		if (args_count == -2)
-			return FALSE;
-
-		client_send_command_error(cmd, args_count < 0 ? NULL :
-					  "Missing SEARCH arguments.");
-		return TRUE;
-	}
-	cmd->client->input_lock = NULL;
+	if (!client_read_args(cmd, 0, 0, &args))
+		return FALSE;
 
 	if (!client_verify_open_mailbox(cmd))
 		return TRUE;
diff -r 68db63cc32b3 -r d2c357625ef2 src/imap/cmd-sort.c
--- a/src/imap/cmd-sort.c	Fri Feb 06 12:49:46 2009 -0500
+++ b/src/imap/cmd-sort.c	Fri Feb 06 13:10:06 2009 -0500
@@ -93,20 +93,11 @@ bool cmd_sort(struct client_command_cont
 	struct mail_search_args *sargs;
 	enum mail_sort_type sort_program[MAX_SORT_PROGRAM_SIZE];
 	const struct imap_arg *args;
-	int args_count;
 	const char *charset;
 	int ret;
 
-	args_count = imap_parser_read_args(cmd->parser, 0, 0, &args);
-	if (args_count == -2)
+	if (!client_read_args(cmd, 0, 0, &args))
 		return FALSE;
-	cmd->client->input_lock = NULL;
-
-	if (args_count < 3) {
-		client_send_command_error(cmd, args_count < 0 ? NULL :
-					  "Missing or invalid arguments.");
-		return TRUE;
-	}
 
 	if (!client_verify_open_mailbox(cmd))
 		return TRUE;
diff -r 68db63cc32b3 -r d2c357625ef2 src/imap/cmd-thread.c
--- a/src/imap/cmd-thread.c	Fri Feb 06 12:49:46 2009 -0500
+++ b/src/imap/cmd-thread.c	Fri Feb 06 13:10:06 2009 -0500
@@ -108,19 +108,11 @@ bool cmd_thread(struct client_command_co
 	enum mail_thread_type thread_type;
 	struct mail_search_args *sargs;
 	const struct imap_arg *args;
-	int ret, args_count;
 	const char *charset, *str;
+	int ret;
 
-	args_count = imap_parser_read_args(cmd->parser, 0, 0, &args);
-	if (args_count == -2)
+	if (!client_read_args(cmd, 0, 0, &args))
 		return FALSE;
-	client->input_lock = NULL;
-
-	if (args_count < 3) {
-		client_send_command_error(cmd, args_count < 0 ? NULL :
-					  "Missing or invalid arguments.");
-		return TRUE;
-	}
 
 	if (!client_verify_open_mailbox(cmd))
 		return TRUE;
@@ -140,8 +132,7 @@ bool cmd_thread(struct client_command_co
 
 	/* charset */
 	if (args->type != IMAP_ARG_ATOM && args->type != IMAP_ARG_STRING) {
-		client_send_command_error(cmd,
-					  "Invalid charset argument.");
+		client_send_command_error(cmd, "Invalid charset argument.");
 		return TRUE;
 	}
 	charset = IMAP_ARG_STR(args);


More information about the dovecot-cvs mailing list