dataptr = message;
+ /* historically some messages used to already contain the trailing LF */
+ if (size && (dataptr[size-1] == '\n'))
+ size--;
+
if (logsrv->type == LOG_TARGET_FD) {
/* the socket's address is a file descriptor */
plogfd = (int *)&((struct sockaddr_in *)&logsrv->addr)->sin_addr.s_addr;
hdr_ptr = hdr;
hdr_max = 3;
maxlen = logsrv->maxlen - hdr_max;
- max = MIN(size, maxlen) - 1;
+ max = MIN(size, maxlen - 1);
goto send;
case LOG_FORMAT_RAW:
hdr_ptr = hdr = "";
hdr_max = 0;
maxlen = logsrv->maxlen;
- max = MIN(size, maxlen) - 1;
+ max = MIN(size, maxlen - 1);
goto send;
default:
goto send;
}
- max = MIN(size, maxlen - sd_max) - 1;
+ max = MIN(size, maxlen - sd_max - 1);
send:
if (logsrv->addr.ss_family == AF_UNSPEC) {
/* the target is a file descriptor or a ring buffer */