]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: Reduced code duplication.
authorTimo Sirainen <tss@iki.fi>
Wed, 28 Apr 2010 20:18:36 +0000 (23:18 +0300)
committerTimo Sirainen <tss@iki.fi>
Wed, 28 Apr 2010 20:18:36 +0000 (23:18 +0300)
--HG--
branch : HEAD

src/doveadm/doveadm-mail-altmove.c
src/doveadm/doveadm-mail-fetch.c
src/doveadm/doveadm-mail.c
src/doveadm/doveadm-mail.h

index 12f0ad03d96f30fa9f7ac5ee0c57fb2d78853bc4..931d0da81f5f5ac4e28fc7d21a7a08b728af81cd 100644 (file)
@@ -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 @@ void cmd_altmove(struct mail_user *user, const char *const args[])
 
        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);
index 1e4d39b60c2da0b04ea996d81221d2c0857d772f..f77f0dc36eebf0af0f4b75bee8e8f12535343e20 100644 (file)
@@ -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 @@ static const struct fetch_field fetch_fields[] = {
        { "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 @@ void cmd_fetch(struct mail_user *user, const char *const args[])
        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);
 
index 21a2dc20b4cfb2077820bdc194fcf9e232fdfd8a..ae422781fd84e73b755ae33bb6ee5516f8e2ab4e 100644 (file)
@@ -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 @@ doveadm_mailbox_find_and_sync(struct mail_user *user, const char *mailbox)
        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];
index 4af0a24ccbd006681d1bdffbe4ecfe22303b3d1f..2f6eb06f2e37fdca8d05f92d287d28b87c41db41 100644 (file)
@@ -29,6 +29,8 @@ void doveadm_mail_deinit(void);
 
 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[]);