43 |
for (iterator_first (itr); !iterator_is_done (itr); iterator_next (itr)) |
for (iterator_first (itr); !iterator_is_done (itr); iterator_next (itr)) |
44 |
{ |
{ |
45 |
char *s; |
char *s; |
|
sieve_register_t *reg; |
|
46 |
|
|
47 |
iterator_current (itr, (void **)&s); |
iterator_current (itr, (void **)&s); |
48 |
|
|
49 |
/* FIXME: if (strncmp (s, "comparator-", 11) ... */ |
if (strncmp (s, "comparator-", 11) == 0) |
|
reg = sieve_action_lookup (s); |
|
|
if (!reg) |
|
50 |
{ |
{ |
51 |
sieve_compile_error (sieve_filename, sieve_line_num, |
if (sieve_require_comparator (s + 11)) |
52 |
"source for the required action %s is not available", |
{ |
53 |
s); |
sieve_compile_error (sieve_filename, sieve_line_num, |
54 |
break; |
"source for the required comparator %s is not available", |
55 |
|
s + 11); |
56 |
|
} |
57 |
|
} |
58 |
|
else if (strncmp (s, "test-", 5) == 0) /* GNU extension */ |
59 |
|
{ |
60 |
|
} |
61 |
|
else |
62 |
|
{ |
63 |
|
sieve_register_t *reg; |
64 |
|
reg = sieve_action_lookup (s); |
65 |
|
if (!reg) |
66 |
|
{ |
67 |
|
sieve_compile_error (sieve_filename, sieve_line_num, |
68 |
|
"source for the required action %s is not available", |
69 |
|
s); |
70 |
|
break; |
71 |
|
} |
72 |
|
reg->required = 1; |
73 |
} |
} |
|
reg->required = 1; |
|
74 |
} |
} |
75 |
iterator_destroy (&itr); |
iterator_destroy (&itr); |
76 |
} |
} |