dovecot-2.1-pigeonhole: lib-sieve: made error handler part of pu...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Wed Feb 22 22:48:21 EET 2012


details:   http://hg.rename-it.nl/dovecot-2.1-pigeonhole/rev/a4ea7e3f8d9e
changeset: 1604:a4ea7e3f8d9e
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Wed Feb 22 21:43:35 2012 +0100
description:
lib-sieve: made error handler part of public runtime environment.

diffstat:

 src/lib-sieve/plugins/enotify/ext-enotify-common.c  |   9 +++------
 src/lib-sieve/plugins/include/ext-include-common.c  |   5 ++---
 src/lib-sieve/plugins/vnd.dovecot/debug/ext-debug.c |   7 ++-----
 src/lib-sieve/sieve-interpreter.c                   |  12 +++++-------
 src/lib-sieve/sieve-runtime.h                       |   1 +
 5 files changed, 13 insertions(+), 21 deletions(-)

diffs (134 lines):

diff -r 6cca5f460f86 -r a4ea7e3f8d9e src/lib-sieve/plugins/enotify/ext-enotify-common.c
--- a/src/lib-sieve/plugins/enotify/ext-enotify-common.c	Thu Feb 16 22:07:32 2012 +0100
+++ b/src/lib-sieve/plugins/enotify/ext-enotify-common.c	Wed Feb 22 21:43:35 2012 +0100
@@ -502,8 +502,7 @@
 		nenv.svinst = renv->svinst;
 		nenv.method = method;
 		nenv.ehandler = sieve_prefix_ehandler_create
-			(sieve_interpreter_get_error_handler(renv->interp),
-				sieve_runtime_get_full_command_location(renv),
+			(renv->ehandler, sieve_runtime_get_full_command_location(renv),
 				"valid_notify_method test");
 
 		/* Use the method check function to validate the URI */
@@ -567,8 +566,7 @@
 		nenv.svinst = renv->svinst;
 		nenv.method = method;
 		nenv.ehandler = sieve_prefix_ehandler_create
-			(sieve_interpreter_get_error_handler(renv->interp),
-				sieve_runtime_get_full_command_location(renv),
+			(renv->ehandler, sieve_runtime_get_full_command_location(renv),
 				"notify_method_capability test");
 
 		/* Execute method function to acquire capability value */
@@ -602,8 +600,7 @@
 		nenv.svinst = renv->svinst;
 		nenv.method = method;
 		nenv.ehandler = sieve_prefix_ehandler_create
-			(sieve_interpreter_get_error_handler(renv->interp),
-				sieve_runtime_get_full_command_location(renv),
+			(renv->ehandler, sieve_runtime_get_full_command_location(renv),
 				"notify action");
 
 		/* Execute check function */
diff -r 6cca5f460f86 -r a4ea7e3f8d9e src/lib-sieve/plugins/include/ext-include-common.c
--- a/src/lib-sieve/plugins/include/ext-include-common.c	Thu Feb 16 22:07:32 2012 +0100
+++ b/src/lib-sieve/plugins/include/ext-include-common.c	Wed Feb 22 21:43:35 2012 +0100
@@ -688,10 +688,9 @@
 
 	if ( ctx->parent == NULL ) {
 		struct ext_include_interpreter_context *curctx = NULL;
-		struct sieve_error_handler *ehandler = 
-			sieve_interpreter_get_error_handler(renv->interp);
+		struct sieve_error_handler *ehandler = renv->ehandler;
 		struct sieve_interpreter *subinterp;
-		bool interrupted = FALSE;	
+		bool interrupted = FALSE;
 
 		/* We are the top-level interpreter instance */	
 		
diff -r 6cca5f460f86 -r a4ea7e3f8d9e src/lib-sieve/plugins/vnd.dovecot/debug/ext-debug.c
--- a/src/lib-sieve/plugins/vnd.dovecot/debug/ext-debug.c	Thu Feb 16 22:07:32 2012 +0100
+++ b/src/lib-sieve/plugins/vnd.dovecot/debug/ext-debug.c	Wed Feb 22 21:43:35 2012 +0100
@@ -63,11 +63,8 @@
 (const struct sieve_extension *ext ATTR_UNUSED,
 	const struct sieve_runtime_env *renv, sieve_size_t *address ATTR_UNUSED)
 {
-	struct sieve_error_handler *ehandler =
-		sieve_interpreter_get_error_handler(renv->interp);
-
-	if ( ehandler != NULL ) {
-		sieve_error_handler_accept_infolog(ehandler, TRUE);
+	if ( renv->ehandler != NULL ) {
+		sieve_error_handler_accept_infolog(renv->ehandler, TRUE);
 	}
 
 	return TRUE;
diff -r 6cca5f460f86 -r a4ea7e3f8d9e src/lib-sieve/sieve-interpreter.c
--- a/src/lib-sieve/sieve-interpreter.c	Thu Feb 16 22:07:32 2012 +0100
+++ b/src/lib-sieve/sieve-interpreter.c	Wed Feb 22 21:43:35 2012 +0100
@@ -43,8 +43,6 @@
 
 struct sieve_interpreter {
 	pool_t pool;
-			
-	struct sieve_error_handler *ehandler;
 
 	/* Runtime data for extensions */
 	ARRAY_DEFINE(extensions, struct sieve_interpreter_extension_reg); 
@@ -88,7 +86,7 @@
 	interp = p_new(pool, struct sieve_interpreter, 1);
 	interp->pool = pool;
 
-	interp->ehandler = ehandler;
+	interp->runenv.ehandler = ehandler;
 	sieve_error_handler_ref(ehandler);
 
 	interp->runenv.interp = interp;
@@ -238,7 +236,7 @@
 
 	sieve_binary_debug_reader_deinit(&(*interp)->dreader);
 	sieve_binary_unref(&(*interp)->runenv.sbin);
-	sieve_error_handler_unref(&(*interp)->ehandler);
+	sieve_error_handler_unref(&(*interp)->runenv.ehandler);
 
 	pool_unref(&((*interp)->pool));	
 	*interp = NULL;
@@ -262,7 +260,7 @@
 struct sieve_error_handler *sieve_interpreter_get_error_handler
 (struct sieve_interpreter *interp)
 {
-	return interp->ehandler;
+	return interp->runenv.ehandler;
 }
 
 struct sieve_instance *sieve_interpreter_svinst
@@ -295,7 +293,7 @@
 		if ( location == NULL )
 			location = sieve_runtime_get_full_command_location(renv);
 
-		msg_func(renv->interp->ehandler, location, fmt, args); 
+		msg_func(renv->ehandler, location, fmt, args); 
 	} T_END;
 }
 
@@ -345,7 +343,7 @@
 			location = sieve_runtime_get_full_command_location(renv);
 
 		sieve_vcritical
-			(renv->svinst, renv->interp->ehandler, location, user_prefix, fmt, args); 
+			(renv->svinst, renv->ehandler, location, user_prefix, fmt, args); 
 	} T_END;
 
 	va_end(args);
diff -r 6cca5f460f86 -r a4ea7e3f8d9e src/lib-sieve/sieve-runtime.h
--- a/src/lib-sieve/sieve-runtime.h	Thu Feb 16 22:07:32 2012 +0100
+++ b/src/lib-sieve/sieve-runtime.h	Wed Feb 22 21:43:35 2012 +0100
@@ -15,6 +15,7 @@
 	struct sieve_instance *svinst;
 	struct sieve_interpreter *interp;
 	enum sieve_runtime_flags flags;
+	struct sieve_error_handler *ehandler;
 
 	/* Executing script */
 	struct sieve_script *script;


More information about the dovecot-cvs mailing list