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)
This commit is contained in:
Lennart Poettering 2015-01-07 22:05:20 +01:00
parent 1535ef321f
commit 978553ce5e
2 changed files with 8 additions and 7 deletions

View file

@ -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,

View file

@ -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, \