changeset 19471:91509e171e4b

lib-storage: Made mail_search_arg_[one_]equals() public.
author Timo Sirainen <tss@iki.fi>
date Sun, 06 Dec 2015 18:09:17 +0200
parents 95d355376204
children 8749308aad53
files src/lib-storage/mail-search.c src/lib-storage/mail-search.h
diffstat 2 files changed, 13 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/mail-search.c	Sun Dec 06 18:08:20 2015 +0200
+++ b/src/lib-storage/mail-search.c	Sun Dec 06 18:09:17 2015 +0200
@@ -9,9 +9,6 @@
 #include "mail-search-build.h"
 #include "mail-search.h"
 
-static bool mail_search_arg_equals(const struct mail_search_arg *arg1,
-				   const struct mail_search_arg *arg2);
-
 static void
 mailbox_uidset_change(struct mail_search_arg *arg, struct mailbox *box,
 		      const ARRAY_TYPE(seq_range) *search_saved_uidset)
@@ -583,8 +580,8 @@
 	return TRUE;
 }
 
-static bool mail_search_arg_one_equals(const struct mail_search_arg *arg1,
-				       const struct mail_search_arg *arg2)
+bool mail_search_arg_one_equals(const struct mail_search_arg *arg1,
+				const struct mail_search_arg *arg2)
 {
 	if (arg1->type != arg2->type ||
 	    arg1->match_not != arg2->match_not ||
@@ -659,8 +656,8 @@
 	return FALSE;
 }
 
-static bool mail_search_arg_equals(const struct mail_search_arg *arg1,
-				   const struct mail_search_arg *arg2)
+bool mail_search_arg_equals(const struct mail_search_arg *arg1,
+			    const struct mail_search_arg *arg2)
 {
 	while (arg1 != NULL && arg2 != NULL) {
 		if (!mail_search_arg_one_equals(arg1, arg2))
--- a/src/lib-storage/mail-search.h	Sun Dec 06 18:08:20 2015 +0200
+++ b/src/lib-storage/mail-search.h	Sun Dec 06 18:09:17 2015 +0200
@@ -70,6 +70,8 @@
 };
 
 struct mail_search_arg {
+	/* NOTE: when adding new fields, make sure mail_search_arg_dup_one()
+	   and mail_search_arg_one_equals() are updated. */
 	struct mail_search_arg *next;
 
 	enum mail_search_arg_type type;
@@ -154,6 +156,13 @@
    messages depending on when the search is run. */
 bool mail_search_args_equal(const struct mail_search_args *args1,
 			    const struct mail_search_args *args2);
+/* Same as mail_search_args_equal(), but for individual mail_search_arg
+   structs. All the siblings of arg1 and arg2 are also compared. */
+bool mail_search_arg_equals(const struct mail_search_arg *arg1,
+			    const struct mail_search_arg *arg2);
+/* Same as mail_search_arg_equals(), but don't compare siblings. */
+bool mail_search_arg_one_equals(const struct mail_search_arg *arg1,
+				const struct mail_search_arg *arg2);
 
 void mail_search_args_ref(struct mail_search_args *args);
 void mail_search_args_unref(struct mail_search_args **args);