summaryrefslogtreecommitdiff
path: root/libsieve
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2002-11-20 12:27:25 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2002-11-20 12:27:25 +0000
commitd22ca0f6520bd9f35ba45f4e8d5edebbda5e54b3 (patch)
tree997c25559ff260f220e1f8509ceba939988b4cc6 /libsieve
parentb435f98236650d4a1dd6f4023d0fa3b8f04fd7ac (diff)
downloadmailutils-d22ca0f6520bd9f35ba45f4e8d5edebbda5e54b3.tar.gz
mailutils-d22ca0f6520bd9f35ba45f4e8d5edebbda5e54b3.tar.bz2
(struct sieve_machine): New members
test_list, action_list and comp_list provide independent symbol space for this particular instance of sieve.
Diffstat (limited to 'libsieve')
-rw-r--r--libsieve/sieve.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/libsieve/sieve.h b/libsieve/sieve.h
index a6d06e314..94e966beb 100644
--- a/libsieve/sieve.h
+++ b/libsieve/sieve.h
@@ -37,7 +37,12 @@ struct sieve_machine {
char *filename; /* Name of the source script */
list_t memory_pool; /* Pool of allocated memory objects */
list_t destr_list; /* List of destructor functions */
-
+
+ /* Symbol space: */
+ list_t test_list; /* Tests */
+ list_t action_list; /* Actions */
+ list_t comp_list; /* Comparators */
+
size_t progsize; /* Number of allocated program cells */
sieve_op_t *prog; /* Compiled program */
@@ -103,9 +108,9 @@ int _sieve_default_parse_error __P((void *unused,
int sieve_lex_begin __P((const char *name));
void sieve_lex_finish __P((void));
-void sieve_register_standard_actions __P((void));
-void sieve_register_standard_tests __P((void));
-void sieve_register_standard_comparators __P((void));
+void sieve_register_standard_actions __P((sieve_machine_t mach));
+void sieve_register_standard_tests __P((sieve_machine_t mach));
+void sieve_register_standard_comparators __P((sieve_machine_t mach));
int sieve_code __P((sieve_op_t *op));
int sieve_code_instr __P((sieve_instr_t instr));
@@ -126,6 +131,5 @@ void instr_branch __P((sieve_machine_t mach));
void instr_brz __P((sieve_machine_t mach));
int sieve_mark_deleted __P((message_t msg, int deleted));
-int sieve_require_comparator __P((const char *name));
int sieve_match_part_checker __P((const char *name, list_t tags, list_t args));

Return to:

Send suggestions and report system problems to the System administrator.