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