dovecot-1.2-sieve: Made child error handlers inherit master_log ...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Fri Jan 15 17:54:12 EET 2010


details:   http://hg.rename-it.nl/dovecot-1.2-sieve/rev/a7359fa45ca9
changeset: 1208:a7359fa45ca9
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Fri Jan 15 16:46:45 2010 +0100
description:
Made child error handlers inherit master_log status from parent.

diffstat:

 src/lib-sieve/sieve-error-private.h |   4 ++++
 src/lib-sieve/sieve-error.c         |  22 +++++++++++++++-------
 2 files changed, 19 insertions(+), 7 deletions(-)

diffs (67 lines):

diff -r 2e81586d807f -r a7359fa45ca9 src/lib-sieve/sieve-error-private.h
--- a/src/lib-sieve/sieve-error-private.h	Fri Jan 15 16:08:44 2010 +0100
+++ b/src/lib-sieve/sieve-error-private.h	Fri Jan 15 16:46:45 2010 +0100
@@ -40,6 +40,10 @@
 void sieve_error_handler_init
 	(struct sieve_error_handler *ehandler, pool_t pool, unsigned int max_errors);
 
+void sieve_error_handler_init_from_parent
+	(struct sieve_error_handler *ehandler, pool_t pool, 
+		struct sieve_error_handler *parent);
+
 /*
  * Direct handler calls
  */
diff -r 2e81586d807f -r a7359fa45ca9 src/lib-sieve/sieve-error.c
--- a/src/lib-sieve/sieve-error.c	Fri Jan 15 16:08:44 2010 +0100
+++ b/src/lib-sieve/sieve-error.c	Fri Jan 15 16:46:45 2010 +0100
@@ -245,7 +245,7 @@
  */
 
 void sieve_error_handler_init
-	(struct sieve_error_handler *ehandler, pool_t pool, unsigned int max_errors)
+(struct sieve_error_handler *ehandler, pool_t pool, unsigned int max_errors)
 {
 	ehandler->pool = pool;
 	ehandler->refcount = 1;
@@ -255,6 +255,18 @@
 	ehandler->warnings = 0;
 }
 
+void sieve_error_handler_init_from_parent
+(struct sieve_error_handler *ehandler, pool_t pool, struct sieve_error_handler *parent)
+{
+	i_assert( parent != NULL );
+
+	sieve_error_handler_init(ehandler, pool, parent->max_errors);
+
+	ehandler->handler.log_master = parent->log_master;
+	ehandler->handler.log_info = parent->log_info;
+	ehandler->handler.log_debug = parent->log_debug;
+}
+
 void sieve_error_handler_ref(struct sieve_error_handler *ehandler)
 {
 	if ( ehandler == NULL || ehandler->pool == NULL ) return;
@@ -869,9 +881,7 @@
 	ehandler->location = p_strdup(pool, location);
 	ehandler->prefix = p_strdup(pool, prefix);
 
-	sieve_error_handler_init(&ehandler->handler, pool, parent->max_errors);
-    ehandler->handler.log_info = parent->log_info;
-    ehandler->handler.log_debug = parent->log_debug;
+	sieve_error_handler_init_from_parent(&ehandler->handler, pool, parent);
 
 	ehandler->handler.verror = sieve_prefix_verror;
 	ehandler->handler.vwarning = sieve_prefix_vwarning;
@@ -990,9 +1000,7 @@
 	ehandler->format = format;
 	p_array_init(&ehandler->table, pool, 10);
 
-	sieve_error_handler_init(&ehandler->handler, pool, parent->max_errors);
-	ehandler->handler.log_info = parent->log_info;
-	ehandler->handler.log_debug = parent->log_debug;
+	sieve_error_handler_init_from_parent(&ehandler->handler, pool, parent);
 
 	entry = array_append_space(&ehandler->table);
 	entry->key = '$';


More information about the dovecot-cvs mailing list