]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
log: make log_syntax() assign correct errno and show valid error cause
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 4 Mar 2019 06:18:06 +0000 (15:18 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 4 Mar 2019 06:18:06 +0000 (15:18 +0900)
src/basic/log.c
src/basic/log.h

index 0486027296d1cf777e2f0409add83ec8acb0c08f..84621932db4946fe6282407bd3d026a400bf8480 100644 (file)
@@ -1223,7 +1223,7 @@ int log_syntax_internal(
             log_target == LOG_TARGET_NULL)
                 return -ERRNO_VALUE(error);
 
-        errno = error;
+        errno = ERRNO_VALUE(error);
 
         va_start(ap, format);
         (void) vsnprintf(buffer, sizeof buffer, format, ap);
index 17438d7ff7e495d30b4d1e3cea47aa8ac0d5f8ea..113e0dedee7a5b096d49b05420c08e82a6c5fbf6 100644 (file)
@@ -308,7 +308,7 @@ int log_syntax_invalid_utf8_internal(
                 int _level = (level), _e = (error);                     \
                 (log_get_max_level() >= LOG_PRI(_level))                \
                         ? log_syntax_internal(unit, _level, config_file, config_line, _e, __FILE__, __LINE__, __func__, __VA_ARGS__) \
-                        : -abs(_e);                                     \
+                        : -ERRNO_VALUE(_e);                             \
         })
 
 #define log_syntax_invalid_utf8(unit, level, config_file, config_line, rvalue) \