From cceba5593d7a02ad4564f86154dd62f9ac05b08b Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sat, 31 Dec 2005 14:16:49 +0000 Subject: [PATCH] * syslog.cc (vsyslog): Decrement len if trailing \n has been removed. Add \n when writing to stderr if LOG_PERROR option is set. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/syslog.cc | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index ad8008f50..bde958055 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2005-12-31 Corinna Vinschen + + * syslog.cc (vsyslog): Decrement len if trailing \n has been removed. + Add \n when writing to stderr if LOG_PERROR option is set. + 2005-12-31 Corinna Vinschen * include/cygwin/in.h: Drop including stdint.h. Move definition diff --git a/winsup/cygwin/syslog.cc b/winsup/cygwin/syslog.cc index 2ea0d6207..b8bd669e2 100644 --- a/winsup/cygwin/syslog.cc +++ b/winsup/cygwin/syslog.cc @@ -402,12 +402,15 @@ vsyslog (int priority, const char *message, va_list ap) char *total_msg = pass.get_message (); int len = strlen (total_msg); if (len != 0 && (total_msg[len - 1] == '\n')) - total_msg[len - 1] = '\0'; + total_msg[--len] = '\0'; msg_strings[0] = total_msg; if (_my_tls.locals.process_logopt & LOG_PERROR) - write (STDERR_FILENO, total_msg, len + 1); + { + write (STDERR_FILENO, total_msg, len); + write (STDERR_FILENO, "\n", 1); + } int fd; if ((fd = try_connect_syslogd (priority, total_msg, len + 1)) >= 0)