Even if we fail to write to a log-file, and it's not growing, it's not *shrinking* either....
Signed-off-by: Joshua Judson Rosen <[email protected]> --- sysklogd/syslogd.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c index a6a4ff2..ca926b9 100644 --- a/sysklogd/syslogd.c +++ b/sysklogd/syslogd.c @@ -584,6 +584,9 @@ static void log_locally(time_t now, char *msg, logFile_t *log_file) struct flock fl; #endif int len = strlen(msg); +#if ENABLE_FEATURE_ROTATE_LOGFILE + int len_written; +#endif if (log_file->fd >= 0) { /* Reopen log file every second. This allows admin @@ -665,9 +668,15 @@ static void log_locally(time_t now, char *msg, logFile_t *log_file) } ftruncate(log_file->fd, 0); } - log_file->size += + + len_written = #endif full_write(log_file->fd, msg, len); +#if ENABLE_FEATURE_ROTATE_LOGFILE + if (len_written >= 0) { + log_file->size += len_written; + } +#endif #ifdef SYSLOGD_WRLOCK fl.l_type = F_UNLCK; fcntl(log_file->fd, F_SETLKW, &fl); -- 1.7.10.4 _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
