From c6594c9993275c999d7d70b7c63bb49070da1414 Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Wed, 20 Nov 2002 12:30:46 +0000 Subject: (sieve_tag_lookup): New function. --- libsieve/util.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/libsieve/util.c b/libsieve/util.c index 8f391ec5a..2d3c2d083 100644 --- a/libsieve/util.c +++ b/libsieve/util.c @@ -359,7 +359,35 @@ sieve_print_tag_list (list_t list, sieve_printf_t printer, void *data) list_do (list, (list_action_t*) tag_printer, &dbg); } - +static int +tag_finder (void *item, void *data) +{ + sieve_runtime_tag_t *val = item; + sieve_runtime_tag_t *target = data; + + if (strcmp (val->tag, target->tag) == 0) + { + target->arg = val->arg; + return 1; + } + return 0; +} + +int +sieve_tag_lookup (list_t taglist, char *name, sieve_value_t **arg) +{ + sieve_runtime_tag_t t; + + t.tag = name; + if (list_do (taglist, tag_finder, &t)) + { + if (arg) + *arg = t.arg; + return 1; + } + return 0; +} + int sieve_mark_deleted (message_t msg, int deleted) { -- cgit v1.2.1