From 978553ce5e85a57a203be8256e59f304c8c46f3d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 7 Jan 2015 22:05:20 +0100 Subject: [PATCH] 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.c | 4 ++-- src/shared/conf-parser.h | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c index 5fe983a84..a1a94da92 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c @@ -61,7 +61,7 @@ int log_syntax_internal( if (unit) r = log_struct_internal(level, - error > 0 ? error : EINVAL, + error, file, line, func, getpid() == 1 ? "UNIT=%s" : "USER_UNIT=%s", unit, LOG_MESSAGE_ID(SD_MESSAGE_CONFIG_ERROR), @@ -71,7 +71,7 @@ int log_syntax_internal( NULL); else r = log_struct_internal(level, - error > 0 ? error : EINVAL, + error, file, line, func, LOG_MESSAGE_ID(SD_MESSAGE_CONFIG_ERROR), "CONFIG_FILE=%s", config_file, diff --git a/src/shared/conf-parser.h b/src/shared/conf-parser.h index 2507a4444..7a2f855f9 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, \ -- 2.30.2