(struct sieve_machine): New members
test_list, action_list and comp_list provide independent symbol space for this particular instance of sieve.
Showing
1 changed file
with
8 additions
and
4 deletions
... | @@ -38,6 +38,11 @@ struct sieve_machine { | ... | @@ -38,6 +38,11 @@ struct sieve_machine { |
38 | list_t memory_pool; /* Pool of allocated memory objects */ | 38 | list_t memory_pool; /* Pool of allocated memory objects */ |
39 | list_t destr_list; /* List of destructor functions */ | 39 | list_t destr_list; /* List of destructor functions */ |
40 | 40 | ||
41 | /* Symbol space: */ | ||
42 | list_t test_list; /* Tests */ | ||
43 | list_t action_list; /* Actions */ | ||
44 | list_t comp_list; /* Comparators */ | ||
45 | |||
41 | size_t progsize; /* Number of allocated program cells */ | 46 | size_t progsize; /* Number of allocated program cells */ |
42 | sieve_op_t *prog; /* Compiled program */ | 47 | sieve_op_t *prog; /* Compiled program */ |
43 | 48 | ||
... | @@ -103,9 +108,9 @@ int _sieve_default_parse_error __P((void *unused, | ... | @@ -103,9 +108,9 @@ int _sieve_default_parse_error __P((void *unused, |
103 | int sieve_lex_begin __P((const char *name)); | 108 | int sieve_lex_begin __P((const char *name)); |
104 | void sieve_lex_finish __P((void)); | 109 | void sieve_lex_finish __P((void)); |
105 | 110 | ||
106 | void sieve_register_standard_actions __P((void)); | 111 | void sieve_register_standard_actions __P((sieve_machine_t mach)); |
107 | void sieve_register_standard_tests __P((void)); | 112 | void sieve_register_standard_tests __P((sieve_machine_t mach)); |
108 | void sieve_register_standard_comparators __P((void)); | 113 | void sieve_register_standard_comparators __P((sieve_machine_t mach)); |
109 | 114 | ||
110 | int sieve_code __P((sieve_op_t *op)); | 115 | int sieve_code __P((sieve_op_t *op)); |
111 | int sieve_code_instr __P((sieve_instr_t instr)); | 116 | int sieve_code_instr __P((sieve_instr_t instr)); |
... | @@ -126,6 +131,5 @@ void instr_branch __P((sieve_machine_t mach)); | ... | @@ -126,6 +131,5 @@ void instr_branch __P((sieve_machine_t mach)); |
126 | void instr_brz __P((sieve_machine_t mach)); | 131 | void instr_brz __P((sieve_machine_t mach)); |
127 | 132 | ||
128 | int sieve_mark_deleted __P((message_t msg, int deleted)); | 133 | int sieve_mark_deleted __P((message_t msg, int deleted)); |
129 | int sieve_require_comparator __P((const char *name)); | ||
130 | 134 | ||
131 | int sieve_match_part_checker __P((const char *name, list_t tags, list_t args)); | 135 | int sieve_match_part_checker __P((const char *name, list_t tags, list_t args)); | ... | ... |
-
Please register or sign in to post a comment