summaryrefslogtreecommitdiff
path: root/libmu_sieve/extensions/moderator.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2016-11-28 13:57:56 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2016-11-28 14:09:46 +0200
commit6efafc3f28d24b6e31052263d1c8f154049e9f65 (patch)
treede88792b974d1370d6e5ff9828e1dd2fc763bcc0 /libmu_sieve/extensions/moderator.c
parent1528dfded819e3c8ccba459425b0dc18b1f3a722 (diff)
downloadmailutils-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.c14
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;

Return to:

Send suggestions and report system problems to the System administrator.