From: Zbigniew Jędrzejewski-Szmek Date: Mon, 1 Jul 2019 14:37:10 +0000 (+0200) Subject: basic/log: omit ":0" from message when line number is not specified X-Git-Tag: v243-rc1~163^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bdc3426870be2536dd807692420b7b86e7d76ab7;p=thirdparty%2Fsystemd.git basic/log: omit ":0" from message when line number is not specified And obviously CONFIG_LINE=0 is also not logged. The way that log_syntax_internal now looks is becoming a bit crazy, but we can't easily conditionalize on both unit and config_file, and we have different types, so it's not easy to make this more compact. --- diff --git a/src/basic/log.c b/src/basic/log.c index 6648633f979..a30ffb9d870 100644 --- a/src/basic/log.c +++ b/src/basic/log.c @@ -1238,18 +1238,29 @@ int log_syntax_internal( if (unit) unit_fmt = getpid_cached() == 1 ? "UNIT=%s" : "USER_UNIT=%s"; - if (config_file) - return log_struct_internal( - LOG_REALM_PLUS_LEVEL(LOG_REALM_SYSTEMD, level), - error, - file, line, func, - "MESSAGE_ID=" SD_MESSAGE_INVALID_CONFIGURATION_STR, - "CONFIG_FILE=%s", config_file, - "CONFIG_LINE=%u", config_line, - LOG_MESSAGE("%s:%u: %s", config_file, config_line, buffer), - unit_fmt, unit, - NULL); - else if (unit) + if (config_file) { + if (config_line > 0) + return log_struct_internal( + LOG_REALM_PLUS_LEVEL(LOG_REALM_SYSTEMD, level), + error, + file, line, func, + "MESSAGE_ID=" SD_MESSAGE_INVALID_CONFIGURATION_STR, + "CONFIG_FILE=%s", config_file, + "CONFIG_LINE=%u", config_line, + LOG_MESSAGE("%s:%u: %s", config_file, config_line, buffer), + unit_fmt, unit, + NULL); + else + return log_struct_internal( + LOG_REALM_PLUS_LEVEL(LOG_REALM_SYSTEMD, level), + error, + file, line, func, + "MESSAGE_ID=" SD_MESSAGE_INVALID_CONFIGURATION_STR, + "CONFIG_FILE=%s", config_file, + LOG_MESSAGE("%s: %s", config_file, buffer), + unit_fmt, unit, + NULL); + } else if (unit) return log_struct_internal( LOG_REALM_PLUS_LEVEL(LOG_REALM_SYSTEMD, level), error,