diff src/lib-storage/mail-search.h @ 4903:204d7edc7cdc HEAD

Added context parameter type safety checks for most callback APIs.
author Timo Sirainen <tss@iki.fi>
date Fri, 15 Dec 2006 18:55:29 +0200
parents 55df57c028d4
children 0c3c948412c5
line wrap: on
line diff
--- a/src/lib-storage/mail-search.h	Wed Dec 13 15:49:46 2006 +0200
+++ b/src/lib-storage/mail-search.h	Fri Dec 15 18:55:29 2006 +0200
@@ -68,8 +68,8 @@
 			(res) == -1 ? -1 : !(res); \
 	} STMT_END
 
-typedef void (*mail_search_foreach_callback_t)(struct mail_search_arg *arg,
-					       void *context);
+typedef void mail_search_foreach_callback_t(struct mail_search_arg *arg,
+					    void *context);
 
 /* Reset the results in search arguments. match_always is reset only if
    full_reset is TRUE. */
@@ -78,8 +78,12 @@
 /* goes through arguments in list that don't have a result yet.
    Returns 1 = search matched, 0 = search unmatched, -1 = don't know yet */
 int mail_search_args_foreach(struct mail_search_arg *args,
-			     mail_search_foreach_callback_t callback,
+			     mail_search_foreach_callback_t *callback,
 			     void *context);
+#define mail_search_args_foreach(args, callback, context) \
+	CONTEXT_CALLBACK2(mail_search_args_foreach, \
+			  mail_search_foreach_callback_t, \
+			  callback, context, args)
 
 /* Fills have_headers and have_body based on if such search argument exists
    that needs to be checked. Returns the headers that we're searching for, or