From: Timo Sirainen Date: Fri, 11 Jun 2010 14:17:31 +0000 (+0100) Subject: Logging lines longer than PIPE_BUF caused an extra empty line to be logged. X-Git-Tag: 2.0.beta6~12 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=81333312b6be6cdf054959f519544fddfe350a6e;p=thirdparty%2Fdovecot%2Fcore.git Logging lines longer than PIPE_BUF caused an extra empty line to be logged. --HG-- branch : HEAD --- diff --git a/src/lib/failures.c b/src/lib/failures.c index ffd05b8cdb..0d603c84b9 100644 --- a/src/lib/failures.c +++ b/src/lib/failures.c @@ -526,11 +526,12 @@ internal_handler(enum log_type log_type, const char *format, va_list args) prefix_len = str_len(str); str_vprintfa(str, format, args); - str_append_c(str, '\n'); - if (str_len(str) <= PIPE_BUF) + if (str_len(str)+1 <= PIPE_BUF) { + str_append_c(str, '\n'); ret = log_fd_write(2, str_data(str), str_len(str)); - else + } else { ret = internal_send_split(str, prefix_len); + } } T_END; if (ret < 0 && failure_ignore_errors)