diff --git a/src/lib-sieve/plugins/vacation/ext-vacation.c b/src/lib-sieve/plugins/vacation/ext-vacation.c index 2c1655ed66ec7e3b806e50138773bf48e6073e7d..b8b7e9d4fceacec4829e6f190114741e0aa211e5 100644 --- a/src/lib-sieve/plugins/vacation/ext-vacation.c +++ b/src/lib-sieve/plugins/vacation/ext-vacation.c @@ -757,8 +757,7 @@ static bool act_vacation_commit if ( *hdsp == NULL ) { /* No, bail out */ sieve_result_log(aenv, - "discarding vacation response for implicitly delivered message", - msgdata->return_path); + "discarding vacation response for implicitly delivered message"); return TRUE; } diff --git a/src/lib-sieve/sieve-code-dumper.h b/src/lib-sieve/sieve-code-dumper.h index 71e79237b1e60e2ed322b7b50b6ffe5c8d30d9da..ae7dee47a691a51d56754ca3f70f82cc2169a314 100644 --- a/src/lib-sieve/sieve-code-dumper.h +++ b/src/lib-sieve/sieve-code-dumper.h @@ -19,7 +19,8 @@ inline pool_t sieve_code_dumper_pool(struct sieve_code_dumper *dumper); /* */ void sieve_code_dumpf -(const struct sieve_dumptime_env *denv, const char *fmt, ...); + (const struct sieve_dumptime_env *denv, const char *fmt, ...) + ATTR_FORMAT(2, 3); inline void sieve_code_mark(const struct sieve_dumptime_env *denv); inline void sieve_code_mark_specific diff --git a/src/lib-sieve/sieve-error.h b/src/lib-sieve/sieve-error.h index 5085d7f41fb99b67ccac494ac4824b4a60ac53c7..dc2c9add33d920802796012b124683c51da541d3 100644 --- a/src/lib-sieve/sieve-error.h +++ b/src/lib-sieve/sieve-error.h @@ -1,6 +1,9 @@ #ifndef __SIEVE_ERROR_H #define __SIEVE_ERROR_H +#include "lib.h" +#include "compat.h" + #include <stdarg.h> struct sieve_error_handler; @@ -17,7 +20,17 @@ void sieve_vinfo inline static void sieve_error (struct sieve_error_handler *ehandler, const char *location, - const char *fmt, ...) + const char *fmt, ...) ATTR_FORMAT(3, 4); +inline static void sieve_warning +(struct sieve_error_handler *ehandler, const char *location, + const char *fmt, ...) ATTR_FORMAT(3, 4); +inline static void sieve_info +(struct sieve_error_handler *ehandler, const char *location, + const char *fmt, ...) ATTR_FORMAT(3, 4); + +inline static void sieve_error +(struct sieve_error_handler *ehandler, const char *location, + const char *fmt, ...) { va_list args; va_start(args, fmt); @@ -29,7 +42,7 @@ inline static void sieve_error inline static void sieve_warning (struct sieve_error_handler *ehandler, const char *location, - const char *fmt, ...) + const char *fmt, ...) { va_list args; va_start(args, fmt); @@ -41,7 +54,7 @@ inline static void sieve_warning inline static void sieve_info (struct sieve_error_handler *ehandler, const char *location, - const char *fmt, ...) + const char *fmt, ...) { va_list args; va_start(args, fmt); diff --git a/src/lib-sieve/sieve-interpreter.h b/src/lib-sieve/sieve-interpreter.h index 6bbc045d3ebe86e363917b5bb9a0f095e4a77966..5fb77fe38fb357e553c7c2e63f3836e2c0d1e9b7 100644 --- a/src/lib-sieve/sieve-interpreter.h +++ b/src/lib-sieve/sieve-interpreter.h @@ -43,11 +43,14 @@ inline bool sieve_interpreter_get_test_result /* Error handling */ void sieve_runtime_error - (const struct sieve_runtime_env *runenv, const char *fmt, ...); + (const struct sieve_runtime_env *runenv, const char *fmt, ...) + ATTR_FORMAT(2, 3); void sieve_runtime_warning - (const struct sieve_runtime_env *runenv, const char *fmt, ...); + (const struct sieve_runtime_env *runenv, const char *fmt, ...) + ATTR_FORMAT(2, 3); void sieve_runtime_log - (const struct sieve_runtime_env *runenv, const char *fmt, ...); + (const struct sieve_runtime_env *runenv, const char *fmt, ...) + ATTR_FORMAT(2, 3); /* Extension support */ diff --git a/src/lib-sieve/sieve-lexer.c b/src/lib-sieve/sieve-lexer.c index 33db7b996a96d6473035a012c2e9f176fc2b3e32..9f15d64b87a2a724d59df01fa7ec7433a3f99e87 100644 --- a/src/lib-sieve/sieve-lexer.c +++ b/src/lib-sieve/sieve-lexer.c @@ -6,6 +6,7 @@ #include <unistd.h> #include "lib.h" +#include "compat.h" #include "str.h" #include "istream.h" @@ -37,7 +38,13 @@ struct sieve_lexer { }; inline static void sieve_lexer_error -(struct sieve_lexer *lexer, const char *fmt, ...) + (struct sieve_lexer *lexer, const char *fmt, ...) ATTR_FORMAT(2, 3); +inline static void sieve_lexer_warning + (struct sieve_lexer *lexer, const char *fmt, ...) ATTR_FORMAT(2, 3); + + +inline static void sieve_lexer_error +(struct sieve_lexer *lexer, const char *fmt, ...) { va_list args; va_start(args, fmt); @@ -50,7 +57,7 @@ inline static void sieve_lexer_error } inline static void sieve_lexer_warning -(struct sieve_lexer *lexer, const char *fmt, ...) +(struct sieve_lexer *lexer, const char *fmt, ...) { va_list args; va_start(args, fmt); diff --git a/src/lib-sieve/sieve-parser.c b/src/lib-sieve/sieve-parser.c index e8dabd02904f28f7c4e1f0e1ed5c247f99dafc04..9eb436731747447d8170251c6836b801229c3467 100644 --- a/src/lib-sieve/sieve-parser.c +++ b/src/lib-sieve/sieve-parser.c @@ -28,7 +28,12 @@ struct sieve_parser { #define SIEVE_READ_BLOCK_SIZE (1024*8) inline static void sieve_parser_error - (struct sieve_parser *parser, const char *fmt, ...) + (struct sieve_parser *parser, const char *fmt, ...) ATTR_FORMAT(2, 3); +inline static void sieve_parser_warning + (struct sieve_parser *parser, const char *fmt, ...) ATTR_FORMAT(2, 3); + +inline static void sieve_parser_error + (struct sieve_parser *parser, const char *fmt, ...) { va_list args; va_start(args, fmt); @@ -46,7 +51,7 @@ inline static void sieve_parser_error } inline static void sieve_parser_warning - (struct sieve_parser *parser, const char *fmt, ...) + (struct sieve_parser *parser, const char *fmt, ...) { va_list args; va_start(args, fmt); diff --git a/src/lib-sieve/sieve-result.h b/src/lib-sieve/sieve-result.h index ab38bb53d851aa019c138285d98769b0a746275f..f0889ccbea5048d3cefd9d5d6e0814da563efb16 100644 --- a/src/lib-sieve/sieve-result.h +++ b/src/lib-sieve/sieve-result.h @@ -13,11 +13,15 @@ void sieve_result_ref(struct sieve_result *result); void sieve_result_unref(struct sieve_result **result); inline pool_t sieve_result_pool(struct sieve_result *result); +/* Error handling */ + void sieve_result_log - (const struct sieve_action_exec_env *aenv, const char *fmt, ...); + (const struct sieve_action_exec_env *aenv, const char *fmt, ...) + ATTR_FORMAT(2, 3); void sieve_result_error - (const struct sieve_action_exec_env *aenv, const char *fmt, ...); - + (const struct sieve_action_exec_env *aenv, const char *fmt, ...) + ATTR_FORMAT(2, 3); + int sieve_result_add_action (const struct sieve_runtime_env *renv, const struct sieve_action *action, struct sieve_side_effects_list *seffects, diff --git a/src/lib-sieve/sieve-validator.h b/src/lib-sieve/sieve-validator.h index 3a6e1db12e51277a9edec32bae156e788f9304af..78f789f55e97eecef17f7e22ef621c5889fab6bd 100644 --- a/src/lib-sieve/sieve-validator.h +++ b/src/lib-sieve/sieve-validator.h @@ -16,9 +16,11 @@ inline pool_t sieve_validator_pool(struct sieve_validator *validator); bool sieve_validator_run(struct sieve_validator *validator); void sieve_validator_warning - (struct sieve_validator *validator, struct sieve_ast_node *node, const char *fmt, ...); + (struct sieve_validator *validator, struct sieve_ast_node *node, + const char *fmt, ...) ATTR_FORMAT(3, 4); void sieve_validator_error - (struct sieve_validator *validator, struct sieve_ast_node *node, const char *fmt, ...); + (struct sieve_validator *validator, struct sieve_ast_node *node, + const char *fmt, ...) ATTR_FORMAT(3, 4); /* Command Programmers Interface */