]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Added mail_search_build_add()
authorTimo Sirainen <tss@iki.fi>
Wed, 28 Apr 2010 19:02:10 +0000 (22:02 +0300)
committerTimo Sirainen <tss@iki.fi>
Wed, 28 Apr 2010 19:02:10 +0000 (22:02 +0300)
--HG--
branch : HEAD

src/lib-storage/mail-search-build.c
src/lib-storage/mail-search-build.h

index 8b1f998a7c6390317e1e649dd7fdafb428c003a4..3bbb132115b5b1c936e332e8be8303b1d1a9cfd8 100644 (file)
@@ -177,15 +177,23 @@ struct mail_search_args *mail_search_build_init(void)
        return args;
 }
 
-void mail_search_build_add_all(struct mail_search_args *args)
+struct mail_search_arg *
+mail_search_build_add(struct mail_search_args *args,
+                     enum mail_search_arg_type type)
 {
        struct mail_search_arg *arg;
 
        arg = p_new(args->pool, struct mail_search_arg, 1);
-       arg->type = SEARCH_ALL;
+       arg->type = type;
 
        arg->next = args->args;
        args->args = arg;
+       return arg;
+}
+
+void mail_search_build_add_all(struct mail_search_args *args)
+{
+       mail_search_build_add(args, SEARCH_ALL);
 }
 
 void mail_search_build_add_seqset(struct mail_search_args *args,
@@ -193,11 +201,8 @@ void mail_search_build_add_seqset(struct mail_search_args *args,
 {
        struct mail_search_arg *arg;
 
-       arg = p_new(args->pool, struct mail_search_arg, 1);
-       arg->type = SEARCH_SEQSET;
+       arg = mail_search_build_add(args, SEARCH_SEQSET);
+
        p_array_init(&arg->value.seqset, args->pool, 1);
        seq_range_array_add_range(&arg->value.seqset, seq1, seq2);
-
-       arg->next = args->args;
-       args->args = arg;
 }
index bfddf15ad16a592a75d772d9f639e3d6f719bdbc..bc08583bb49bfa3422e25dd5bb40015a0dc63827 100644 (file)
@@ -25,6 +25,10 @@ int mail_search_build(struct mail_search_register *reg,
                      struct mail_search_parser *parser, const char *charset,
                      struct mail_search_args **args_r, const char **error_r);
 
+/* Add new search arg with given type. */
+struct mail_search_arg *
+mail_search_build_add(struct mail_search_args *args,
+                     enum mail_search_arg_type type);
 /* Add SEARCH_ALL to search args. */
 void mail_search_build_add_all(struct mail_search_args *args);
 /* Add a sequence set to search args. */