chiark / gitweb /
conf-parse: make syntax logging functions behave more like other log functons
[elogind.git] / src / shared / conf-parser.h
index 2507a44..7a2f855 100644 (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,                                  \