X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/ff790e47f2de6f4d6d48148e1d5a67da8e93c446..d7d7b7b91dd75cec636fc144da7e27eed860f971:/src/src/log.c diff --git a/src/src/log.c b/src/src/log.c index a39e2abfa..a388258c5 100644 --- a/src/src/log.c +++ b/src/src/log.c @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/log.c,v 1.4 2005/06/22 15:44:38 ph10 Exp $ */ +/* $Cambridge: exim/src/src/log.c,v 1.8 2006/02/07 11:19:00 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2005 */ +/* Copyright (c) University of Cambridge 1995 - 2006 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions for writing log files. The code for maintaining datestamped @@ -741,7 +741,7 @@ va_end(ap); this way because it kind of fits with LOG_RECIPIENTS. */ if ((flags & LOG_SENDER) != 0 && - ptr < log_buffer + LOG_BUFFER_SIZE - 8 - Ustrlen(raw_sender)) + ptr < log_buffer + LOG_BUFFER_SIZE - 10 - Ustrlen(raw_sender)) { sprintf(CS ptr, " from <%s>", raw_sender); while (*ptr) ptr++; @@ -814,7 +814,7 @@ if ((flags & LOG_MAIN) != 0 && uschar *nowstamp = tod_stamp(tod_log_datestamp); if (Ustrncmp (mainlog_datestamp, nowstamp, Ustrlen(nowstamp)) != 0) { - close(mainlogfd); /* Close the file */ + (void)close(mainlogfd); /* Close the file */ mainlogfd = -1; /* Clear the file descriptor */ mainlog_inode = 0; /* Unset the inode */ mainlog_datestamp = NULL; /* Clear the datestamp */ @@ -830,7 +830,7 @@ if ((flags & LOG_MAIN) != 0 && { if (Ustat(mainlog_name, &statbuf) < 0 || statbuf.st_ino != mainlog_inode) { - close(mainlogfd); + (void)close(mainlogfd); mainlogfd = -1; mainlog_inode = 0; } @@ -936,7 +936,7 @@ if (write_rejectlog && (flags & LOG_REJECT) != 0) uschar *nowstamp = tod_stamp(tod_log_datestamp); if (Ustrncmp (rejectlog_datestamp, nowstamp, Ustrlen(nowstamp)) != 0) { - close(rejectlogfd); /* Close the file */ + (void)close(rejectlogfd); /* Close the file */ rejectlogfd = -1; /* Clear the file descriptor */ rejectlog_inode = 0; /* Unset the inode */ rejectlog_datestamp = NULL; /* Clear the datestamp */ @@ -953,7 +953,7 @@ if (write_rejectlog && (flags & LOG_REJECT) != 0) if (Ustat(rejectlog_name, &statbuf) < 0 || statbuf.st_ino != rejectlog_inode) { - close(rejectlogfd); + (void)close(rejectlogfd); rejectlogfd = -1; rejectlog_inode = 0; } @@ -997,11 +997,11 @@ if ((flags & LOG_PROCESS) != 0) /* Handle the panic log, which is not kept open like the others. If it fails to open, there will be a recursive call to log_write(). We detect this above and attempt to write to the system log as a last-ditch try at telling somebody. In -all cases, try to write to log_stderr. */ +all cases except mua_wrapper, try to write to log_stderr. */ if ((flags & LOG_PANIC) != 0) { - if (log_stderr != NULL && log_stderr != debug_file) + if (log_stderr != NULL && log_stderr != debug_file && !mua_wrapper) fprintf(log_stderr, "%s", CS log_buffer); if ((logging_mode & LOG_MODE_SYSLOG) != 0) @@ -1031,7 +1031,7 @@ if ((flags & LOG_PANIC) != 0) flags |= LOG_PANIC_DIE; } - close(paniclogfd); + (void)close(paniclogfd); } /* Give up if the DIE flag is set */ @@ -1051,9 +1051,9 @@ void log_close_all(void) { if (mainlogfd >= 0) - { close(mainlogfd); mainlogfd = -1; } + { (void)close(mainlogfd); mainlogfd = -1; } if (rejectlogfd >= 0) - { close(rejectlogfd); rejectlogfd = -1; } + { (void)close(rejectlogfd); rejectlogfd = -1; } closelog(); syslog_open = FALSE; }