dovecot-1.2-sieve: Multiscript: fixed duplicate implicit keep ca...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Wed Aug 11 18:02:36 EEST 2010


details:   http://hg.rename-it.nl/dovecot-1.2-sieve/rev/b61ef51347b7
changeset: 1269:b61ef51347b7
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Wed Aug 11 17:02:29 2010 +0200
description:
Multiscript: fixed duplicate implicit keep caused by erroneous execution state update.

diffstat:

 src/lib-sieve/sieve.c |  8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

diffs (39 lines):

diff -r df0a62c936a0 -r b61ef51347b7 src/lib-sieve/sieve.c
--- a/src/lib-sieve/sieve.c	Wed Aug 11 14:29:27 2010 +0200
+++ b/src/lib-sieve/sieve.c	Wed Aug 11 17:02:29 2010 +0200
@@ -430,7 +430,6 @@
 
 	int status;
 	bool active;
-	bool ended;
 	bool keep;
 
 	struct ostream *teststream;
@@ -485,8 +484,6 @@
 	} else {
 		if ( keep != NULL ) *keep = TRUE;
 	}
-		
-	mscript->active = ( mscript->active && *keep );
 
 	sieve_result_mark_executed(mscript->result);
 }
@@ -505,8 +502,6 @@
 		else
 			if ( keep != NULL ) *keep = TRUE;			
 	}
-	
-	mscript->active = ( mscript->active && *keep );
 }
 
 bool sieve_multiscript_run
@@ -530,7 +525,8 @@
 		else
 			sieve_multiscript_execute(mscript, ehandler, &mscript->keep);
 
-		if ( final ) mscript->active = FALSE;
+		mscript->active =
+			( mscript->active && mscript->keep && !final && mscript->status > 0 );
 	}	
 
 	if ( mscript->status <= 0 )


More information about the dovecot-cvs mailing list