dovecot-2.0: doveadm: Reduced code duplication.

dovecot at dovecot.org dovecot at dovecot.org
Wed Apr 28 23:18:38 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/f10ad708d748
changeset: 11208:f10ad708d748
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Apr 28 23:18:36 2010 +0300
description:
doveadm: Reduced code duplication.

diffstat:

 src/doveadm/doveadm-mail-altmove.c |  19 ++-----------------
 src/doveadm/doveadm-mail-fetch.c   |  19 ++-----------------
 src/doveadm/doveadm-mail.c         |  17 +++++++++++++++++
 src/doveadm/doveadm-mail.h         |   2 ++
 4 files changed, 23 insertions(+), 34 deletions(-)

diffs (128 lines):

diff -r 1ec4eb879f0e -r f10ad708d748 src/doveadm/doveadm-mail-altmove.c
--- a/src/doveadm/doveadm-mail-altmove.c	Wed Apr 28 23:15:50 2010 +0300
+++ b/src/doveadm/doveadm-mail-altmove.c	Wed Apr 28 23:18:36 2010 +0300
@@ -5,25 +5,10 @@
 #include "mail-index.h"
 #include "mail-storage.h"
 #include "mail-namespace.h"
-#include "mail-search-build.h"
-#include "mail-search-parser.h"
+#include "mail-search.h"
 #include "doveadm-mail-list-iter.h"
 #include "doveadm-mail.h"
 
-static struct mail_search_args *build_search_args(const char *const args[])
-{
-	struct mail_search_parser *parser;
-	struct mail_search_args *sargs;
-	const char *error;
-
-	parser = mail_search_parser_init_cmdline(args);
-	if (mail_search_build(mail_search_register_human, parser, "UTF-8",
-			      &sargs, &error) < 0)
-		i_fatal("%s", error);
-	mail_search_parser_deinit(&parser);
-	return sargs;
-}
-
 static int
 cmd_altmove_box(struct mailbox *box, struct mail_search_args *search_args)
 {
@@ -92,7 +77,7 @@
 
 	if (args[0] == NULL)
 		doveadm_mail_help_name("altmove");
-	search_args = build_search_args(args);
+	search_args = doveadm_mail_build_search_args(args);
 
 	t_array_init(&purged_storages, 8);
 	iter = doveadm_mail_list_iter_init(user, search_args, iter_flags);
diff -r 1ec4eb879f0e -r f10ad708d748 src/doveadm/doveadm-mail-fetch.c
--- a/src/doveadm/doveadm-mail-fetch.c	Wed Apr 28 23:15:50 2010 +0300
+++ b/src/doveadm/doveadm-mail-fetch.c	Wed Apr 28 23:18:36 2010 +0300
@@ -11,8 +11,7 @@
 #include "imap-util.h"
 #include "mail-namespace.h"
 #include "mail-storage.h"
-#include "mail-search-build.h"
-#include "mail-search-parser.h"
+#include "mail-search.h"
 #include "doveadm-mail.h"
 #include "doveadm-mail-list-iter.h"
 
@@ -225,20 +224,6 @@
 	{ "date.saved",    MAIL_FETCH_SAVE_DATE,     fetch_date_saved }
 };
 
-static struct mail_search_args *build_search_args(const char *const args[])
-{
-	struct mail_search_parser *parser;
-	struct mail_search_args *sargs;
-	const char *error;
-
-	parser = mail_search_parser_init_cmdline(args);
-	if (mail_search_build(mail_search_register_human, parser, "UTF-8",
-			      &sargs, &error) < 0)
-		i_fatal("%s", error);
-	mail_search_parser_deinit(&parser);
-	return sargs;
-}
-
 static const struct fetch_field *fetch_field_find(const char *name)
 {
 	unsigned int i;
@@ -345,7 +330,7 @@
 	if (fetch_fields == NULL || args[1] == NULL)
 		doveadm_mail_help_name("fetch");
 	parse_fetch_fields(&ctx, fetch_fields);
-	ctx.search_args = build_search_args(args + 1);
+	ctx.search_args = doveadm_mail_build_search_args(args + 1);
 
 	ctx.output = o_stream_create_fd(STDOUT_FILENO, 0, FALSE);
 
diff -r 1ec4eb879f0e -r f10ad708d748 src/doveadm/doveadm-mail.c
--- a/src/doveadm/doveadm-mail.c	Wed Apr 28 23:15:50 2010 +0300
+++ b/src/doveadm/doveadm-mail.c	Wed Apr 28 23:18:36 2010 +0300
@@ -11,6 +11,8 @@
 #include "mail-storage.h"
 #include "mail-storage-settings.h"
 #include "mail-storage-service.h"
+#include "mail-search-build.h"
+#include "mail-search-parser.h"
 #include "doveadm.h"
 #include "doveadm-settings.h"
 #include "doveadm-mail.h"
@@ -73,6 +75,21 @@
 	return box;
 }
 
+struct mail_search_args *
+doveadm_mail_build_search_args(const char *const args[])
+{
+	struct mail_search_parser *parser;
+	struct mail_search_args *sargs;
+	const char *error;
+
+	parser = mail_search_parser_init_cmdline(args);
+	if (mail_search_build(mail_search_register_human, parser, "UTF-8",
+			      &sargs, &error) < 0)
+		i_fatal("%s", error);
+	mail_search_parser_deinit(&parser);
+	return sargs;
+}
+
 static void cmd_force_resync(struct mail_user *user, const char *const args[])
 {
 	const char *mailbox = args[0];
diff -r 1ec4eb879f0e -r f10ad708d748 src/doveadm/doveadm-mail.h
--- a/src/doveadm/doveadm-mail.h	Wed Apr 28 23:15:50 2010 +0300
+++ b/src/doveadm/doveadm-mail.h	Wed Apr 28 23:18:36 2010 +0300
@@ -29,6 +29,8 @@
 
 struct mailbox *
 doveadm_mailbox_find_and_sync(struct mail_user *user, const char *mailbox);
+struct mail_search_args *
+doveadm_mail_build_search_args(const char *const args[]);
 
 void cmd_fetch(struct mail_user *user, const char *const args[]);
 void cmd_altmove(struct mail_user *user, const char *const args[]);


More information about the dovecot-cvs mailing list