diff --git a/src/lib-sieve/sieve-address-parts.c b/src/lib-sieve/sieve-address-parts.c index ca13bb31ae8be5e4bbb631e95c001bdbd056d9a4..a3550140c981e02b760d669ba1bacfd68a1cb823 100644 --- a/src/lib-sieve/sieve-address-parts.c +++ b/src/lib-sieve/sieve-address-parts.c @@ -1,4 +1,5 @@ -#include <stdio.h> +/* Copyright (c) 2002-2008 Dovecot Sieve authors, see the included COPYING file + */ #include "lib.h" #include "compat.h" @@ -113,6 +114,31 @@ void sieve_address_parts_link_tags /* * Address-part tagged argument */ + +/* Forward declarations */ + +static bool tag_address_part_is_instance_of + (struct sieve_validator *validator, struct sieve_command_context *cmd, + struct sieve_ast_argument *arg); +static bool tag_address_part_validate + (struct sieve_validator *validator, struct sieve_ast_argument **arg, + struct sieve_command_context *cmd); +static bool tag_address_part_generate + (const struct sieve_codegen_env *cgenv, struct sieve_ast_argument *arg, + struct sieve_command_context *cmd); + +/* Argument object */ + +const struct sieve_argument address_part_tag = { + "ADDRESS-PART", + tag_address_part_is_instance_of, + NULL, + tag_address_part_validate, + NULL, + tag_address_part_generate +}; + +/* Argument implementation */ static bool tag_address_part_is_instance_of (struct sieve_validator *validator, struct sieve_command_context *cmd, @@ -295,15 +321,6 @@ bool sieve_addrmatch_default_get_optionals /* * Core address-part modifiers */ - -const struct sieve_argument address_part_tag = { - "ADDRESS-PART", - tag_address_part_is_instance_of, - NULL, - tag_address_part_validate, - NULL, - tag_address_part_generate -}; static const char *addrp_all_extract_from (const struct sieve_address *address) diff --git a/src/lib-sieve/sieve-address-parts.h b/src/lib-sieve/sieve-address-parts.h index 5ec6da1312d5de3f5d42e25d57e1f329c75a3011..f67169b8792aa7e950ec75fa022ac20a52dd582b 100644 --- a/src/lib-sieve/sieve-address-parts.h +++ b/src/lib-sieve/sieve-address-parts.h @@ -1,3 +1,6 @@ +/* Copyright (c) 2002-2008 Dovecot Sieve authors, see the included COPYING file + */ + #ifndef __SIEVE_ADDRESS_PARTS_H #define __SIEVE_ADDRESS_PARTS_H @@ -87,7 +90,9 @@ static inline bool sieve_opr_address_part_dump (denv, &sieve_address_part_operand_class, address, NULL); } -/* Match utility */ +/* + * Match utility + */ int sieve_address_match (const struct sieve_address_part *addrp, struct sieve_match_context *mctx, @@ -102,6 +107,7 @@ enum sieve_addrmatch_opt_operand { bool sieve_addrmatch_default_dump_optionals (const struct sieve_dumptime_env *denv, sieve_size_t *address); + bool sieve_addrmatch_default_get_optionals (const struct sieve_runtime_env *renv, sieve_size_t *address, const struct sieve_address_part **addp, diff --git a/src/lib-sieve/sieve-comparators.c b/src/lib-sieve/sieve-comparators.c index 7b610dd1449fbdc9c87b3d2a0ea69e0d0f05e42b..e34b4a1d57c8fdd09db3214cd4b14a8c13ba72ef 100644 --- a/src/lib-sieve/sieve-comparators.c +++ b/src/lib-sieve/sieve-comparators.c @@ -109,14 +109,14 @@ bool cmp_validator_load(struct sieve_validator *validator) * Comparator tagged argument */ -/* Context associated with ast argument */ +/* Context data */ struct sieve_comparator_context { struct sieve_command_context *command_ctx; const struct sieve_comparator *comparator; }; -/* Comparator argument */ +/* Forward declarations */ static bool tag_comparator_validate (struct sieve_validator *validator, struct sieve_ast_argument **arg, @@ -125,6 +125,8 @@ static bool tag_comparator_generate (const struct sieve_codegen_env *cgenv, struct sieve_ast_argument *arg, struct sieve_command_context *cmd); +/* Argument object */ + const struct sieve_argument comparator_tag = { "comparator", NULL, NULL, @@ -133,6 +135,8 @@ const struct sieve_argument comparator_tag = { tag_comparator_generate }; +/* Argument implementation */ + static bool tag_comparator_validate (struct sieve_validator *validator, struct sieve_ast_argument **arg, struct sieve_command_context *cmd)