summaryrefslogtreecommitdiff
path: root/libsieve
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2002-11-22 14:51:54 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2002-11-22 14:51:54 +0000
commitd92cbeef399ad46292a755141195d8b9595fdd26 (patch)
treedf693998734d20c5ed8bf0fe87ad3a354c24c676 /libsieve
parentf73e289faba4b13b6bab34ae1312e25e3ca76394 (diff)
downloadmailutils-d92cbeef399ad46292a755141195d8b9595fdd26.tar.gz
mailutils-d92cbeef399ad46292a755141195d8b9595fdd26.tar.bz2
(sieve_require_comparator): Implemented loadable comparators.
Diffstat (limited to 'libsieve')
-rw-r--r--libsieve/comparator.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libsieve/comparator.c b/libsieve/comparator.c
index 4a2801990..a5376d0b3 100644
--- a/libsieve/comparator.c
+++ b/libsieve/comparator.c
@@ -87,7 +87,12 @@ sieve_require_comparator (sieve_machine_t mach, const char *name)
{
sieve_comparator_record_t *reg = _lookup (mach->comp_list, name);
if (!reg)
- return 1;
+ {
+ if (!(sieve_load_ext (mach, name) == 0
+ && (reg = _lookup (mach->comp_list, name)) != NULL))
+ return 1;
+ }
+
reg->required = 1;
return 0;
}

Return to:

Send suggestions and report system problems to the System administrator.