From a77eb7f00d243c6fcce1117d1fde9860041b6977 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@dovecot.fi>
Date: Wed, 15 May 2019 13:25:44 +0200
Subject: [PATCH] lib-sieve: sieve-error - Simplify if-statement for global
 logging sieve_direct_logv().

Use local variables to pre-declare conditions that are used more than once.
---
 src/lib-sieve/sieve-error.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/lib-sieve/sieve-error.c b/src/lib-sieve/sieve-error.c
index 72d0ea5d4..c56a2b623 100644
--- a/src/lib-sieve/sieve-error.c
+++ b/src/lib-sieve/sieve-error.c
@@ -98,18 +98,20 @@ void sieve_direct_logv(struct sieve_instance *svinst,
 		       enum sieve_error_flags flags,
 		       const char *fmt, va_list args)
 {
+	bool master_log = (ehandler != NULL && ehandler->master_log);
+	bool global_info_log = (
+		(flags & SIEVE_ERROR_FLAG_GLOBAL_MAX_INFO) != 0 &&
+		params->log_type > LOG_TYPE_INFO);
+
 	if ((flags & SIEVE_ERROR_FLAG_GLOBAL) != 0 &&
 	    (ehandler == NULL || ehandler->parent == NULL) &&
-	    (ehandler == NULL || !ehandler->master_log ||
-	     (params->log_type > LOG_TYPE_INFO &&
-	      (flags & SIEVE_ERROR_FLAG_GLOBAL_MAX_INFO) != 0))) {
+	    (!master_log || global_info_log)) {
 		struct sieve_error_params new_params = *params;
 		va_list args_copy;
 
 		VA_COPY(args_copy, args);
 
-		if ((flags & SIEVE_ERROR_FLAG_GLOBAL_MAX_INFO) != 0 &&
-		    new_params.log_type > LOG_TYPE_INFO)
+		if (global_info_log)
 			new_params.log_type = LOG_TYPE_INFO;
 
 		sieve_direct_master_vlog(svinst, &new_params,
@@ -117,7 +119,7 @@ void sieve_direct_logv(struct sieve_instance *svinst,
 
 		va_end(args_copy);
 
-		if (ehandler != NULL && ehandler->master_log)
+		if (master_log)
 			return;
 	}
 
-- 
GitLab