Commit 3fa56327 authored by Max Kellermann's avatar Max Kellermann

log: automatically append newline

If a log message does not include a newline character, append it.
parent 95b3430f
......@@ -68,6 +68,21 @@ static const char *log_date(void)
return buf;
}
/**
* Determines the length of the string excluding trailing whitespace
* characters.
*/
static int
chomp_length(const char *p)
{
size_t length = strlen(p);
while (length > 0 && g_ascii_isspace(p[length - 1]))
--length;
return (int)length;
}
static void
file_log_func(const gchar *log_domain,
G_GNUC_UNUSED GLogLevelFlags log_level,
......@@ -90,10 +105,10 @@ file_log_func(const gchar *log_domain,
if (log_domain == NULL)
log_domain = "";
fprintf(stderr, "%s%s%s%s",
fprintf(stderr, "%s%s%s%.*s\n",
stdout_mode ? "" : log_date(),
log_domain, *log_domain == 0 ? "" : ": ",
message);
chomp_length(message), message);
g_free(converted);
}
......@@ -170,9 +185,9 @@ syslog_log_func(const gchar *log_domain,
if (log_domain == NULL)
log_domain = "";
syslog(glib_to_syslog_level(log_level), "%s%s%s",
syslog(glib_to_syslog_level(log_level), "%s%s%.*s",
log_domain, *log_domain == 0 ? "" : ": ",
message);
chomp_length(message), message);
}
static void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment