summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-01-07 22:05:20 +0100
committerLennart Poettering <lennart@poettering.net>2015-01-07 23:44:08 +0100
commit978553ce5e85a57a203be8256e59f304c8c46f3d (patch)
tree0287259d3a9eea9954a91ad69fa8c5dbb7f8430f
parent1535ef321f9f62c0825e811ebd25c09b88aab852 (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.c4
-rw-r--r--src/shared/conf-parser.h11
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, \