From 978553ce5e85a57a203be8256e59f304c8c46f3d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 7 Jan 2015 22:05:20 +0100 Subject: conf-parse: make syntax logging functions behave more like other log functons In particular, don't patch the error number to EINVAL if 0, and don't negate it. (Also, add do {} while (false) around multi-line macro) --- src/shared/conf-parser.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/shared/conf-parser.h') diff --git a/src/shared/conf-parser.h b/src/shared/conf-parser.h index 2507a44444..7a2f855f9f 100644 --- a/src/shared/conf-parser.h +++ b/src/shared/conf-parser.h @@ -136,11 +136,12 @@ int log_syntax_internal( config_file, config_line, \ error, __VA_ARGS__) -#define log_invalid_utf8(unit, level, config_file, config_line, error, rvalue) { \ - _cleanup_free_ char *__p = utf8_escape_invalid(rvalue); \ - log_syntax(unit, level, config_file, config_line, error, \ - "String is not UTF-8 clean, ignoring assignment: %s", __p); \ - } +#define log_invalid_utf8(unit, level, config_file, config_line, error, rvalue) \ + do { \ + _cleanup_free_ char *_p = utf8_escape_invalid(rvalue); \ + log_syntax(unit, level, config_file, config_line, error, \ + "String is not UTF-8 clean, ignoring assignment: %s", strna(_p)); \ + } while(false) #define DEFINE_CONFIG_PARSE_ENUM(function,name,type,msg) \ int function(const char *unit, \ -- cgit v1.2.1