dovecot-2.2-pigeonhole: lib-sieve: variables extension: Added as...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Mon Aug 17 21:51:41 UTC 2015


details:   http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/652aec3e8440
changeset: 2088:652aec3e8440
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Mon Aug 17 23:51:35 2015 +0200
description:
lib-sieve: variables extension: Added asserts to extension API to make sure variables extension instance gets passed as argument.

diffstat:

 src/lib-sieve/plugins/variables/ext-variables-common.c     |  13 ++++++++++---
 src/lib-sieve/plugins/variables/ext-variables-dump.c       |   6 ++++--
 src/lib-sieve/plugins/variables/ext-variables-namespaces.c |   1 +
 src/lib-sieve/plugins/variables/ext-variables-operands.c   |   3 +++
 4 files changed, 18 insertions(+), 5 deletions(-)

diffs (80 lines):

diff -r c07900b0d045 -r 652aec3e8440 src/lib-sieve/plugins/variables/ext-variables-common.c
--- a/src/lib-sieve/plugins/variables/ext-variables-common.c	Mon Aug 17 23:41:05 2015 +0200
+++ b/src/lib-sieve/plugins/variables/ext-variables-common.c	Mon Aug 17 23:51:35 2015 +0200
@@ -608,8 +608,10 @@
 struct ext_variables_validator_context *ext_variables_validator_context_get
 (const struct sieve_extension *this_ext, struct sieve_validator *valdtr)
 {
-	struct ext_variables_validator_context *ctx =
-		(struct ext_variables_validator_context *)
+	struct ext_variables_validator_context *ctx;
+
+	i_assert( sieve_extension_is(this_ext, variables_extension) );
+	ctx = (struct ext_variables_validator_context *)
 		sieve_validator_extension_get_context(valdtr, this_ext);
 
 	if ( ctx == NULL ) {
@@ -768,8 +770,13 @@
 ext_variables_interpreter_context_get
 	(const struct sieve_extension *this_ext, struct sieve_interpreter *interp)
 {
-	return (struct ext_variables_interpreter_context *)
+	struct ext_variables_interpreter_context *ctx;
+
+	i_assert( sieve_extension_is(this_ext, variables_extension) );
+	ctx = (struct ext_variables_interpreter_context *)
 		sieve_interpreter_extension_get_context(interp, this_ext);
+
+	return ctx;
 }
 
 struct sieve_variable_storage *sieve_ext_variables_runtime_get_storage
diff -r c07900b0d045 -r 652aec3e8440 src/lib-sieve/plugins/variables/ext-variables-dump.c
--- a/src/lib-sieve/plugins/variables/ext-variables-dump.c	Mon Aug 17 23:41:05 2015 +0200
+++ b/src/lib-sieve/plugins/variables/ext-variables-dump.c	Mon Aug 17 23:51:35 2015 +0200
@@ -49,10 +49,12 @@
 (const struct sieve_extension *this_ext, const struct sieve_dumptime_env *denv)
 {
 	struct sieve_code_dumper *dumper = denv->cdumper;
-	struct ext_variables_dump_context *dctx = sieve_dump_extension_get_context
-		(dumper, this_ext);
+	struct ext_variables_dump_context *dctx;
 	pool_t pool;
 
+	i_assert( sieve_extension_is(this_ext, variables_extension) );
+	dctx = sieve_dump_extension_get_context(dumper, this_ext);
+
 	if ( dctx == NULL ) {
 		/* Create dumper context */
 		pool = sieve_code_dumper_pool(dumper);
diff -r c07900b0d045 -r 652aec3e8440 src/lib-sieve/plugins/variables/ext-variables-namespaces.c
--- a/src/lib-sieve/plugins/variables/ext-variables-namespaces.c	Mon Aug 17 23:41:05 2015 +0200
+++ b/src/lib-sieve/plugins/variables/ext-variables-namespaces.c	Mon Aug 17 23:51:35 2015 +0200
@@ -182,6 +182,7 @@
 	const struct sieve_extension *ext,
 	const struct sieve_variables_namespace_def *nspc_def)
 {
+	i_assert( sieve_extension_is(var_ext, variables_extension) );
 	sieve_operand_emit(sblock, var_ext, &namespace_variable_operand);
 	sieve_opr_object_emit(sblock, ext, &nspc_def->obj_def);
 }
diff -r c07900b0d045 -r 652aec3e8440 src/lib-sieve/plugins/variables/ext-variables-operands.c
--- a/src/lib-sieve/plugins/variables/ext-variables-operands.c	Mon Aug 17 23:41:05 2015 +0200
+++ b/src/lib-sieve/plugins/variables/ext-variables-operands.c	Mon Aug 17 23:51:35 2015 +0200
@@ -52,6 +52,8 @@
 (struct sieve_binary_block *sblock, const struct sieve_extension *var_ext,
 	struct sieve_variable *var)
 {
+	i_assert( sieve_extension_is(var_ext, variables_extension) );
+
 	if ( var->ext == NULL ) {
 		/* Default variable storage */
 		(void) sieve_operand_emit(sblock, var_ext, &variable_operand);
@@ -222,6 +224,7 @@
 (struct sieve_binary_block *sblock, const struct sieve_extension *var_ext,
 	unsigned int index)
 {
+	i_assert( sieve_extension_is(var_ext, variables_extension) );
 	(void) sieve_operand_emit(sblock, var_ext, &match_value_operand);
 	(void) sieve_binary_emit_unsigned(sblock, index);
 }


More information about the dovecot-cvs mailing list