X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/5fa5f96fcfb9aa3c73e4ce9289a30be1e616e576..0e1cd284c9c37e912d1a4ba73eb3c8ea4851e166:/src/exim_monitor/em_main.c?ds=sidebyside diff --git a/src/exim_monitor/em_main.c b/src/exim_monitor/em_main.c index 4692fa744..3034a041c 100644 --- a/src/exim_monitor/em_main.c +++ b/src/exim_monitor/em_main.c @@ -1,10 +1,8 @@ -/* $Cambridge: exim/src/exim_monitor/em_main.c,v 1.6 2009/11/16 19:50:36 nm4 Exp $ */ - /************************************************* * Exim Monitor * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2016 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -615,7 +613,6 @@ message_subdir[1] = 0; constructing file names and things. This call will initialize the store_get() function. */ -big_buffer_size = 1024; big_buffer = store_get(big_buffer_size); /* Set up the version string and date and output them */ @@ -656,6 +653,8 @@ today.) */ if (log_file[0] != 0) { + /* Do *not* use "%s" here, we need the %D datestamp in the log_file to + be expanded! */ (void)string_format(log_file_open, sizeof(log_file_open), CS log_file); log_datestamping = string_datestamp_offset >= 0; @@ -670,8 +669,14 @@ if (log_file[0] != 0) { fseek(LOG, 0, SEEK_END); log_position = ftell(LOG); - fstat(fileno(LOG), &statdata); - log_inode = statdata.st_ino; + if (fstat(fileno(LOG), &statdata)) + { + perror("log file fstat"); + fclose(LOG); + LOG=NULL; + } + else + log_inode = statdata.st_ino; } } else