diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-11-28 13:57:56 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-11-28 14:09:46 +0200 |
commit | 6efafc3f28d24b6e31052263d1c8f154049e9f65 (patch) | |
tree | de88792b974d1370d6e5ff9828e1dd2fc763bcc0 /libmu_sieve/extensions/moderator.c | |
parent | 1528dfded819e3c8ccba459425b0dc18b1f3a722 (diff) | |
download | mailutils-6efafc3f28d24b6e31052263d1c8f154049e9f65.tar.gz mailutils-6efafc3f28d24b6e31052263d1c8f154049e9f65.tar.bz2 |
sieve: more improvements to the argument/tag runtime access API
* include/mailutils/sieve.h (mu_sieve_handler_t): Change signature:
remove args and tags arguments, they are contained in struct
mu_sieve_machine now.
(mu_sieve_get_comparator)
(mu_sieve_relcmpn_t): Change signature.
(mu_sieve_tag_lookup,mu_sieve_tag_lookup_untyped): Remove
(mu_sieve_get_tag,mu_sieve_get_tag_untyped): New protos.
(mu_sieve_value_get_optional): Replace by
mu_sieve_get_arg_optional.
(mu_sieve_value_get_untyped): Replace by
mu_sieve_get_arg_untyped.
(mu_sieve_value_get): Replace by
mu_sieve_get_arg.
All uses changed.
* libmu_sieve/sieve-priv.h (mu_sieve_machine): New members:
arg_list and tag_list
* libmu_sieve/runtime.c (instr_run): Set up identifier, arg_list,
and tag_list in mu_sieve_machine_t before calling the handler.
Reset them afterward.
* libmu_sieve/util.c (mu_sieve_value_get_optional): Replace by
mu_sieve_get_arg_optional.
(mu_sieve_value_get_untyped): Replace by
mu_sieve_get_arg_untyped.
(mu_sieve_value_get): Replace by
mu_sieve_get_arg.
(mu_sieve_tag_lookup): Replace by mu_sieve_get_tag
(mu_sieve_tag_lookup_untyped): Replace by
mu_sieve_get_tag_untyped
Diffstat (limited to 'libmu_sieve/extensions/moderator.c')
-rw-r--r-- | libmu_sieve/extensions/moderator.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libmu_sieve/extensions/moderator.c b/libmu_sieve/extensions/moderator.c index 7d16cefaa..249611cad 100644 --- a/libmu_sieve/extensions/moderator.c +++ b/libmu_sieve/extensions/moderator.c @@ -74,7 +74,7 @@ #include <stdlib.h> static int -moderator_filter_message (mu_sieve_machine_t mach, mu_list_t tags, +moderator_filter_message (mu_sieve_machine_t mach, mu_message_t msg, int *pdiscard) { int rc; @@ -82,7 +82,7 @@ moderator_filter_message (mu_sieve_machine_t mach, mu_list_t tags, mu_attribute_t attr; char *arg; - if (mu_sieve_tag_lookup (mach, tags, "source", SVT_STRING, &arg)) + if (mu_sieve_get_tag (mach, "source", SVT_STRING, &arg)) { rc = mu_sieve_machine_inherit (mach, &newmach); if (rc) @@ -101,7 +101,7 @@ moderator_filter_message (mu_sieve_machine_t mach, mu_list_t tags, if (rc) mu_sieve_error (mach, _("cannot compile source `%s'"), arg); } - else if (mu_sieve_tag_lookup (mach, tags, "program", SVT_STRING, &arg)) + else if (mu_sieve_get_tag (mach, "program", SVT_STRING, &arg)) { struct mu_locus locus; @@ -265,7 +265,7 @@ moderator_message_get_part (mu_sieve_machine_t mach, } static int -moderator_action (mu_sieve_machine_t mach, mu_list_t args, mu_list_t tags) +moderator_action (mu_sieve_machine_t mach) { mu_message_t msg, orig; int rc; @@ -294,7 +294,7 @@ moderator_action (mu_sieve_machine_t mach, mu_list_t args, mu_list_t tags) if ((rc = moderator_message_get_part (mach, msg, 2, &orig))) mu_sieve_abort (mach); - rc = moderator_filter_message (mach, tags, orig, &discard); + rc = moderator_filter_message (mach, orig, &discard); mu_message_unref (orig); if (rc) mu_sieve_abort (mach); @@ -311,13 +311,13 @@ moderator_action (mu_sieve_machine_t mach, mu_list_t args, mu_list_t tags) mu_sieve_abort (mach); } - mu_sieve_tag_lookup (mach, tags, "address", SVT_STRING, &from); + mu_sieve_get_tag (mach, "address", SVT_STRING, &from); if (moderator_discard_message (mach, request, from)) discard = 0; else { - if (!mu_sieve_tag_lookup (mach, tags, "keep", SVT_VOID, NULL)) + if (!mu_sieve_get_tag (mach, "keep", SVT_VOID, NULL)) { mu_attribute_t attr = 0; |