summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2016-12-08 07:49:12 +0200
committerSergey Poznyakoff <gray@gnu.org>2016-12-08 10:46:16 +0200
commitdd3598aa1d82c29132a24663781738fd321ceb8c (patch)
tree41a269281a78ae0019c673c1c7b4b7bfdef44398 /include
parent3895183977dee5585593cb1651db3ad4816a35a0 (diff)
downloadmailutils-dd3598aa1d82c29132a24663781738fd321ceb8c.tar.gz
mailutils-dd3598aa1d82c29132a24663781738fd321ceb8c.tar.bz2
sieve: fix the mu_sieve_vlist_compare API
* libmu_sieve/util.c (mu_sieve_vlist_compare): Rewrite. * include/mailutils/sieve.h (mu_sieve_retrieve_t): Change signature. All uses changed. (mu_sieve_relational_count): Remove. (mu_sieve_vlist_compare): Change signature. * libmu_sieve/extensions/list.c (list_retrieve_header): Always return meaningful status. * libmu_sieve/tests.c (mu_sieve_relational_count): Remove. (retrieve_address,retrieve_envelope): Return meaningful status. (retrieve_header): Iterate over all mime parts, if required. (sieve_test_address,sieve_test_header): Rewrite. * libmu_sieve/variables.c (sieve_test_string): Rewrite using mu_sieve_vlist_compare.
Diffstat (limited to 'include')
-rw-r--r--include/mailutils/sieve.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/include/mailutils/sieve.h b/include/mailutils/sieve.h
index 8dfa3814f..bbaccb56d 100644
--- a/include/mailutils/sieve.h
+++ b/include/mailutils/sieve.h
@@ -51,7 +51,7 @@ typedef int (*mu_sieve_relcmp_t) (int, int);
typedef int (*mu_sieve_relcmpn_t) (size_t, size_t);
typedef int (*mu_sieve_comparator_t) (mu_sieve_machine_t mach,
mu_sieve_string_t *, const char *);
-typedef int (*mu_sieve_retrieve_t) (void *item, void *data, int idx,
+typedef int (*mu_sieve_retrieve_t) (void *item, void *data, size_t idx,
char **pval);
typedef void (*mu_sieve_destructor_t) (void *data);
typedef int (*mu_sieve_tag_checker_t) (mu_sieve_machine_t mach);
@@ -201,8 +201,6 @@ void mu_sieve_register_comparator (mu_sieve_machine_t mach, const char *name,
mu_sieve_comparator_t eq);
int mu_sieve_require_relational (mu_sieve_machine_t mach, const char *name);
-int mu_sieve_relational_count (mu_sieve_machine_t mach, size_t count,
- int retval);
int mu_sieve_require_variables (mu_sieve_machine_t mach);
int mu_sieve_has_variables (mu_sieve_machine_t mach);
@@ -254,9 +252,8 @@ int mu_sieve_vlist_do (mu_sieve_machine_t mach,
void *data);
int mu_sieve_vlist_compare (mu_sieve_machine_t mach,
mu_sieve_value_t *a, mu_sieve_value_t *b,
- mu_sieve_comparator_t comp,
- mu_sieve_relcmp_t test, mu_sieve_retrieve_t ac,
- void *data, size_t *count);
+ mu_sieve_retrieve_t ac, mu_list_folder_t fold,
+ void *data);
/* Functions to create and destroy sieve machine */
int mu_sieve_machine_create (mu_sieve_machine_t *mach);

Return to:

Send suggestions and report system problems to the System administrator.