diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-11-25 13:37:47 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-11-25 13:43:56 +0200 |
commit | 1e6dc073c8b89d740c7eeba747965dfb76be5f2a (patch) | |
tree | 3e0fe4fd3e40f42657704831537a730295d63ed7 /include | |
parent | 05df35d07a46f70e7d09a4da39fdd2d7a7d58ed0 (diff) | |
download | mailutils-1e6dc073c8b89d740c7eeba747965dfb76be5f2a.tar.gz mailutils-1e6dc073c8b89d740c7eeba747965dfb76be5f2a.tar.bz2 |
Implement RFC 5228, 2.4.2.4 (Encoding Characters Using "encoded-character")
* libmu_sieve/encoded.c: New file.
* libmu_sieve/strexp.c: New file.
* libmu_sieve/Makefile.am: Add new files.
* libmu_sieve/require.c (mu_sieve_require): Understand "encoded-character".
* libmu_sieve/sieve-priv.h (mu_i_sv_interp_t): New typedef.
(mu_i_sv_expand_encoded_char): New proto.
(mu_sieve_require_encoded_character): New proto.
* libmu_sieve/sieve.l (string): Rewrite via line_.* functions. This
fixes memory leaks on mu_sieve_machine_destroy.
(line_finish): Expand ${} sequences before returning.
(mu_sieve_require_encoded_character): New function.
* sieve/tests/enc-char.at: New file.
* sieve/tests/Makefile.am: Add enc-char.at
* sieve/tests/testsuite.at: Likewise.
Diffstat (limited to 'include')
-rw-r--r-- | include/mailutils/sieve.h | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/include/mailutils/sieve.h b/include/mailutils/sieve.h index 364a71a46..019ee617b 100644 --- a/include/mailutils/sieve.h +++ b/include/mailutils/sieve.h @@ -123,10 +123,10 @@ void mu_sieve_debug_init (void); /* Memory allocation functions */ void *mu_sieve_alloc (size_t size); -void *mu_sieve_palloc (mu_list_t * pool, size_t size); -void *mu_sieve_prealloc (mu_list_t * pool, void *ptr, size_t size); -void mu_sieve_pfree (mu_list_t * pool, void *ptr); -char *mu_sieve_pstrdup (mu_list_t * pool, const char *str); +void *mu_sieve_palloc (mu_list_t *pool, size_t size); +void *mu_sieve_prealloc (mu_list_t *pool, void *ptr, size_t size); +void mu_sieve_pfree (mu_list_t *pool, void *ptr); +char *mu_sieve_pstrdup (mu_list_t *pool, const char *str); void *mu_sieve_malloc (mu_sieve_machine_t mach, size_t size); char *mu_sieve_mstrdup (mu_sieve_machine_t mach, const char *str); @@ -134,7 +134,7 @@ void *mu_sieve_mrealloc (mu_sieve_machine_t mach, void *ptr, size_t size); void mu_sieve_mfree (mu_sieve_machine_t mach, void *ptr); mu_sieve_value_t *mu_sieve_value_create (mu_sieve_data_type type, void *data); -void mu_sieve_slist_destroy (mu_list_t * plist); +void mu_sieve_slist_destroy (mu_list_t *plist); /* Symbol space functions */ mu_sieve_register_t *mu_sieve_test_lookup (mu_sieve_machine_t mach, @@ -148,8 +148,8 @@ int mu_sieve_register_test_ext (mu_sieve_machine_t mach, mu_sieve_tag_group_t *tags, int required); int mu_sieve_register_test (mu_sieve_machine_t mach, const char *name, mu_sieve_handler_t handler, - mu_sieve_data_type * arg_types, - mu_sieve_tag_group_t * tags, int required); + mu_sieve_data_type *arg_types, + mu_sieve_tag_group_t *tags, int required); int mu_sieve_register_action_ext (mu_sieve_machine_t mach, const char *name, mu_sieve_handler_t handler, @@ -158,8 +158,8 @@ int mu_sieve_register_action_ext (mu_sieve_machine_t mach, mu_sieve_tag_group_t *tags, int required); int mu_sieve_register_action (mu_sieve_machine_t mach, const char *name, mu_sieve_handler_t handler, - mu_sieve_data_type * arg_types, - mu_sieve_tag_group_t * tags, int required); + mu_sieve_data_type *arg_types, + mu_sieve_tag_group_t *tags, int required); int mu_sieve_register_comparator (mu_sieve_machine_t mach, const char *name, int required, mu_sieve_comparator_t is, mu_sieve_comparator_t contains, @@ -177,8 +177,8 @@ mu_sieve_comparator_t mu_sieve_comparator_lookup (mu_sieve_machine_t mach, mu_sieve_comparator_t mu_sieve_get_comparator (mu_sieve_machine_t mach, mu_list_t tags); -int mu_sieve_str_to_relcmp (const char *str, mu_sieve_relcmp_t * test, - mu_sieve_relcmpn_t * stest); +int mu_sieve_str_to_relcmp (const char *str, mu_sieve_relcmp_t *test, + mu_sieve_relcmpn_t *stest); mu_sieve_relcmp_t mu_sieve_get_relcmp (mu_sieve_machine_t mach, mu_list_t tags); @@ -195,12 +195,12 @@ int mu_sieve_match_part_checker (mu_sieve_machine_t mach, mu_list_t args); /* Operations in value lists */ mu_sieve_value_t *mu_sieve_value_get (mu_list_t vlist, size_t index); -int mu_sieve_vlist_do (mu_sieve_value_t * val, mu_list_action_t ac, +int mu_sieve_vlist_do (mu_sieve_value_t *val, mu_list_action_t ac, void *data); -int mu_sieve_vlist_compare (mu_sieve_value_t * a, mu_sieve_value_t * b, +int mu_sieve_vlist_compare (mu_sieve_value_t *a, mu_sieve_value_t *b, mu_sieve_comparator_t comp, mu_sieve_relcmp_t test, mu_sieve_retrieve_t ac, - void *data, size_t * count); + void *data, size_t *count); /* Functions to create and destroy sieve machine */ int mu_sieve_machine_init (mu_sieve_machine_t *mach); @@ -208,7 +208,7 @@ int mu_sieve_machine_dup (mu_sieve_machine_t const in, mu_sieve_machine_t *out); int mu_sieve_machine_inherit (mu_sieve_machine_t const in, mu_sieve_machine_t *out); -void mu_sieve_machine_destroy (mu_sieve_machine_t * pmach); +void mu_sieve_machine_destroy (mu_sieve_machine_t *pmach); int mu_sieve_machine_add_destructor (mu_sieve_machine_t mach, mu_sieve_destructor_t destr, void *ptr); |