From 14dc2bc1206d109d1c123d1d9526c8c62d0c8050 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@open-xchange.com>
Date: Fri, 21 May 2021 02:57:04 +0200
Subject: [PATCH] lib-sieve: sieve - Modify mscript->keep directly in
 sieve_multiscript_execute/test().

Avoids unnecessary pointer parameter.
---
 src/lib-sieve/sieve.c | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/lib-sieve/sieve.c b/src/lib-sieve/sieve.c
index afbce860f..e27d4c8da 100644
--- a/src/lib-sieve/sieve.c
+++ b/src/lib-sieve/sieve.c
@@ -747,17 +747,18 @@ sieve_multiscript_start_test(struct sieve_instance *svinst,
 }
 
 static void
-sieve_multiscript_test(struct sieve_multiscript *mscript, bool *keep)
+sieve_multiscript_test(struct sieve_multiscript *mscript)
 {
 	const struct sieve_script_env *senv = mscript->exec_env.scriptenv;
 
 	if (mscript->status > 0) {
 		mscript->status =
 			(sieve_result_print(mscript->result, senv,
-					    mscript->teststream, keep) ?
+					    mscript->teststream,
+					    &mscript->keep) ?
 			 SIEVE_EXEC_OK : SIEVE_EXEC_FAILURE);
 	} else {
-		if (keep != NULL) *keep = TRUE;
+		mscript->keep = TRUE;
 	}
 
 	sieve_result_mark_executed(mscript->result);
@@ -766,19 +767,20 @@ sieve_multiscript_test(struct sieve_multiscript *mscript, bool *keep)
 static void
 sieve_multiscript_execute(struct sieve_multiscript *mscript,
 			  struct sieve_error_handler *ehandler,
-			  enum sieve_execute_flags flags, bool *keep)
+			  enum sieve_execute_flags flags)
 {
 	mscript->exec_env.flags = flags;
 
 	if (mscript->status > 0) {
 		mscript->status = sieve_result_execute(mscript->result, FALSE,
-						       keep, ehandler);
+						       &mscript->keep,
+						       ehandler);
 	} else {
 		if (sieve_result_implicit_keep(mscript->result, ehandler,
 					       FALSE) <= 0)
 			mscript->status = SIEVE_EXEC_KEEP_FAILED;
 		else
-			if (keep != NULL) *keep = TRUE;
+			mscript->keep = TRUE;
 	}
 }
 
@@ -800,10 +802,10 @@ bool sieve_multiscript_run(struct sieve_multiscript *mscript,
 		mscript->keep = FALSE;
 
 		if (mscript->teststream != NULL)
-			sieve_multiscript_test(mscript, &mscript->keep);
+			sieve_multiscript_test(mscript);
 		else {
 			sieve_multiscript_execute(mscript, action_ehandler,
-						  flags, &mscript->keep);
+						  flags);
 		}
 		if (!mscript->keep)
 			mscript->active = FALSE;
@@ -845,10 +847,10 @@ void sieve_multiscript_run_discard(struct sieve_multiscript *mscript,
 		mscript->keep = FALSE;
 
 		if (mscript->teststream != NULL)
-			sieve_multiscript_test(mscript, &mscript->keep);
+			sieve_multiscript_test(mscript);
 		else {
 			sieve_multiscript_execute(mscript, action_ehandler,
-						  flags, &mscript->keep);
+						  flags);
 		}
 		if (mscript->status == SIEVE_EXEC_FAILURE)
 			mscript->status = SIEVE_EXEC_KEEP_FAILED;
-- 
GitLab