diff --git a/src/lib-sieve/sieve-error.c b/src/lib-sieve/sieve-error.c
index e128ce4343fe23941dc667a5993d159659b4de67..cf20b95618bbc269633e5e6cdca4847635cadd7b 100644
--- a/src/lib-sieve/sieve-error.c
+++ b/src/lib-sieve/sieve-error.c
@@ -178,8 +178,10 @@ void sieve_global_error(struct sieve_instance *svinst,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -200,8 +202,10 @@ void sieve_global_warning(struct sieve_instance *svinst,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_WARNING,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -222,8 +226,10 @@ void sieve_global_info(struct sieve_instance *svinst,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_INFO,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -245,8 +251,10 @@ void sieve_global_info_error(struct sieve_instance *svinst,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -268,8 +276,10 @@ void sieve_global_info_warning(struct sieve_instance *svinst,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_WARNING,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -293,8 +303,10 @@ void sieve_internal_error(struct sieve_error_handler *ehandler,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	char str[256];
@@ -348,8 +360,10 @@ void sieve_error(struct sieve_error_handler *ehandler,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -369,8 +383,10 @@ void sieve_warning(struct sieve_error_handler *ehandler,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_WARNING,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -390,8 +406,10 @@ void sieve_info(struct sieve_error_handler *ehandler,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_INFO,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -411,8 +429,10 @@ void sieve_debug(struct sieve_error_handler *ehandler,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_DEBUG,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -434,8 +454,10 @@ void sieve_critical(struct sieve_instance *svinst,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -796,8 +818,10 @@ sieve_logfile_printf(struct sieve_logfile_ehandler *ehandler,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_INFO,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
diff --git a/src/lib-sieve/sieve-generator.c b/src/lib-sieve/sieve-generator.c
index ae47067b80535e7d24bfaf8ff10cf71a7c088fb9..3dcab0e2669c911d84985b8bc22b4cc5c6b32bcd 100644
--- a/src/lib-sieve/sieve-generator.c
+++ b/src/lib-sieve/sieve-generator.c
@@ -517,8 +517,10 @@ void sieve_generator_error(struct sieve_generator *gentr,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
@@ -538,8 +540,10 @@ void sieve_generator_warning(struct sieve_generator *gentr,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_WARNING,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
@@ -559,8 +563,10 @@ void sieve_generator_critical(struct sieve_generator *gentr,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
diff --git a/src/lib-sieve/sieve-interpreter.c b/src/lib-sieve/sieve-interpreter.c
index 67a70351598c30e6a94fd73038d9c76d8dfd84f3..cb79a756701c4dfd9b898a6f5c79c5d24192047b 100644
--- a/src/lib-sieve/sieve-interpreter.c
+++ b/src/lib-sieve/sieve-interpreter.c
@@ -971,8 +971,10 @@ void sieve_runtime_error(const struct sieve_runtime_env *renv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -989,8 +991,10 @@ void sieve_runtime_warning(const struct sieve_runtime_env *renv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_WARNING,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -1007,8 +1011,10 @@ void sieve_runtime_log(const struct sieve_runtime_env *renv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_INFO,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
@@ -1027,8 +1033,10 @@ void sieve_runtime_critical(const struct sieve_runtime_env *renv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 		.location = location,
 	};
 	va_list args;
diff --git a/src/lib-sieve/sieve-lexer.c b/src/lib-sieve/sieve-lexer.c
index 1572a455a443b91e77fb49ec82172fc19f6bff22..efc3d06445ce25660f3b4379534cda83006848dc 100644
--- a/src/lib-sieve/sieve-lexer.c
+++ b/src/lib-sieve/sieve-lexer.c
@@ -128,8 +128,10 @@ sieve_lexer_error(const struct sieve_lexer *lexer,
 	struct sieve_lexical_scanner *scanner = lexer->scanner;
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
@@ -155,8 +157,10 @@ sieve_lexer_warning(const struct sieve_lexer *lexer,
 	struct sieve_lexical_scanner *scanner = lexer->scanner;
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_WARNING,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
diff --git a/src/lib-sieve/sieve-parser.c b/src/lib-sieve/sieve-parser.c
index 71dc1f75084e8770e498461c4b716f02d633a480..ee54994fe5788b78456c58f9aae419046d5320fa 100644
--- a/src/lib-sieve/sieve-parser.c
+++ b/src/lib-sieve/sieve-parser.c
@@ -95,8 +95,10 @@ sieve_parser_error(struct sieve_parser *parser,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
diff --git a/src/lib-sieve/sieve-result.c b/src/lib-sieve/sieve-result.c
index 7998a11ad926e5d0d55db8ec493f196203f59c4f..9cecc5a123a56f0a00b76e04e3ed3325a1f870ac 100644
--- a/src/lib-sieve/sieve-result.c
+++ b/src/lib-sieve/sieve-result.c
@@ -1535,8 +1535,10 @@ void sieve_result_error(const struct sieve_action_exec_env *aenv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
@@ -1552,8 +1554,10 @@ void sieve_result_global_error(const struct sieve_action_exec_env *aenv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
@@ -1569,8 +1573,10 @@ void sieve_result_warning(const struct sieve_action_exec_env *aenv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_WARNING,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
@@ -1587,8 +1593,10 @@ void sieve_result_global_warning(const struct sieve_action_exec_env *aenv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_WARNING,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
@@ -1604,8 +1612,10 @@ void sieve_result_log(const struct sieve_action_exec_env *aenv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_INFO,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
@@ -1621,8 +1631,10 @@ void sieve_result_global_log(const struct sieve_action_exec_env *aenv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_INFO,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
@@ -1639,8 +1651,10 @@ void sieve_result_global_log_error(const struct sieve_action_exec_env *aenv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
@@ -1658,8 +1672,10 @@ void sieve_result_global_log_warning(const struct sieve_action_exec_env *aenv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_WARNING,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
@@ -1676,8 +1692,10 @@ void sieve_result_critical(const struct sieve_action_exec_env *aenv,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
diff --git a/src/lib-sieve/sieve-validator.c b/src/lib-sieve/sieve-validator.c
index d0c96f81a5b09005426999df221e17bee75655f7..c9e06901ba680b868a6965417548e98eb2fe7181 100644
--- a/src/lib-sieve/sieve-validator.c
+++ b/src/lib-sieve/sieve-validator.c
@@ -1666,8 +1666,10 @@ void sieve_validator_error(struct sieve_validator *valdtr,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_ERROR,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;
 
@@ -1687,8 +1689,10 @@ void sieve_validator_warning(struct sieve_validator *valdtr,
 {
 	struct sieve_error_params params = {
 		.log_type = LOG_TYPE_WARNING,
-		.csrc.filename = csrc_filename,
-		.csrc.linenum = csrc_linenum,
+		.csrc = {
+			.filename = csrc_filename,
+			.linenum = csrc_linenum,
+		},
 	};
 	va_list args;