Log all messages from a single connection, not just the first. Patch from
matthias@corelatus.com, approved by Gennady Feldman <gena01@cachier.com>.
diff --git a/syslogd.c b/syslogd.c
index 14219eb..25bc68f 100644
--- a/syslogd.c
+++ b/syslogd.c
@@ -394,16 +394,17 @@
{
RESERVE_BB_BUFFER(tmpbuf, BUFSIZE + 1);
int n_read;
+ char *p = tmpbuf;
n_read = read (conn, tmpbuf, BUFSIZE );
- if (n_read > 0) {
+ while (p < tmpbuf + n_read) {
int pri = (LOG_USER | LOG_NOTICE);
char line[ BUFSIZE + 1 ];
unsigned char c;
- char *p = tmpbuf, *q = line;
+ char *q = line;
tmpbuf[ n_read - 1 ] = '\0';
@@ -428,6 +429,7 @@
p++;
}
*q = '\0';
+ p++;
/* Now log it */
logMessage (pri, line);
}