dovecot-2.0: lib-storage: Added mail_search_build_add()

dovecot at dovecot.org dovecot at dovecot.org
Wed Apr 28 22:09:22 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/d5ca3aebc4ee
changeset: 11198:d5ca3aebc4ee
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Apr 28 22:02:10 2010 +0300
description:
lib-storage: Added mail_search_build_add()

diffstat:

 src/lib-storage/mail-search-build.c |  19 ++++++++++++-------
 src/lib-storage/mail-search-build.h |   4 ++++
 2 files changed, 16 insertions(+), 7 deletions(-)

diffs (57 lines):

diff -r 3c9770bae39e -r d5ca3aebc4ee src/lib-storage/mail-search-build.c
--- a/src/lib-storage/mail-search-build.c	Wed Apr 28 18:09:43 2010 +0300
+++ b/src/lib-storage/mail-search-build.c	Wed Apr 28 22:02:10 2010 +0300
@@ -177,15 +177,23 @@
 	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 @@
 {
 	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;
 }
diff -r 3c9770bae39e -r d5ca3aebc4ee src/lib-storage/mail-search-build.h
--- a/src/lib-storage/mail-search-build.h	Wed Apr 28 18:09:43 2010 +0300
+++ b/src/lib-storage/mail-search-build.h	Wed Apr 28 22:02:10 2010 +0300
@@ -25,6 +25,10 @@
 		      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. */


More information about the dovecot-cvs mailing list