log: move log_invalid_utf8() to log.h

Also, make sure it follows the same scheme as log_syntax() does in its
behaviour.
This commit is contained in:
Lennart Poettering
2015-09-30 22:26:16 +02:00
parent 12ca818ffd
commit 0e05ee044a
4 changed files with 19 additions and 14 deletions
+12
View File
@@ -227,3 +227,15 @@ int log_syntax_internal(
? log_syntax_internal(unit, _level, config_file, config_line, _e, __FILE__, __LINE__, __func__, __VA_ARGS__) \
: -abs(_e); \
})
#define log_syntax_invalid_utf8(unit, level, config_file, config_line, rvalue) \
({ \
int _level = (level); \
if (log_get_max_level() >= LOG_PRI(_level)) { \
_cleanup_free_ char *_p = NULL; \
_p = utf8_escape_invalid(rvalue); \
log_syntax_internal(unit, _level, config_file, config_line, 0, __FILE__, __LINE__, __func__, \
"String is not UTF-8 clean, ignoring assignment: %s", strna(_p)); \
} \
-EINVAL; \
})