diff options
author | Lennart Poettering <lennart@poettering.net> | 2015-01-07 22:05:20 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-01-07 23:44:08 +0100 |
commit | 978553ce5e85a57a203be8256e59f304c8c46f3d (patch) | |
tree | 0287259d3a9eea9954a91ad69fa8c5dbb7f8430f | |
parent | 1535ef321f9f62c0825e811ebd25c09b88aab852 (diff) |
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)
-rw-r--r-- | src/shared/conf-parser.c | 4 | ||||
-rw-r--r-- | 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 5fe983a847..a1a94da928 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 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, \ |