sd_bus_error_set_errno() allows negative errors too, hence, be equally
nice.
if ((level & LOG_FACMASK) == 0)
level = log_facility | LOG_PRI(level);
if ((level & LOG_FACMASK) == 0)
level = log_facility | LOG_PRI(level);
+ if (error < 0)
+ error = -error;
+
/* Make sure that %m maps to the specified error */
if (error != 0)
/* Make sure that %m maps to the specified error */
if (error != 0)
vsnprintf(buffer, sizeof(buffer), format, ap);
char_array_0(buffer);
vsnprintf(buffer, sizeof(buffer), format, ap);
char_array_0(buffer);
/* Make sure that %m maps to the specified error */
if (error != 0)
/* Make sure that %m maps to the specified error */
if (error != 0)
vsnprintf(buffer, sizeof(buffer), format, ap);
char_array_0(buffer);
vsnprintf(buffer, sizeof(buffer), format, ap);
char_array_0(buffer);
if ((level & LOG_FACMASK) == 0)
level = log_facility | LOG_PRI(level);
if ((level & LOG_FACMASK) == 0)
level = log_facility | LOG_PRI(level);
+ if (error < 0)
+ error = -error;
+
if ((log_target == LOG_TARGET_AUTO ||
log_target == LOG_TARGET_JOURNAL_OR_KMSG ||
log_target == LOG_TARGET_JOURNAL) &&
if ((log_target == LOG_TARGET_AUTO ||
log_target == LOG_TARGET_JOURNAL_OR_KMSG ||
log_target == LOG_TARGET_JOURNAL) &&
/* Helpers to prepare various fields for structured logging */
#define LOG_MESSAGE(fmt, ...) "MESSAGE=" fmt, ##__VA_ARGS__
#define LOG_MESSAGE_ID(x) "MESSAGE_ID=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(x)
/* Helpers to prepare various fields for structured logging */
#define LOG_MESSAGE(fmt, ...) "MESSAGE=" fmt, ##__VA_ARGS__
#define LOG_MESSAGE_ID(x) "MESSAGE_ID=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(x)
-#define LOG_ERRNO(error) "ERRNO=%i", error
+#define LOG_ERRNO(error) "ERRNO=%i", abs(error)
void log_received_signal(int level, const struct signalfd_siginfo *si);
void log_received_signal(int level, const struct signalfd_siginfo *si);