diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2016-12-08 07:49:12 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2016-12-08 10:46:16 +0200 |
commit | dd3598aa1d82c29132a24663781738fd321ceb8c (patch) | |
tree | 41a269281a78ae0019c673c1c7b4b7bfdef44398 /include | |
parent | 3895183977dee5585593cb1651db3ad4816a35a0 (diff) | |
download | mailutils-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.h | 9 |
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); |