[exim-cvs] Fix eximon continuous updating with timestamped l…

Góra strony
Delete this message
Reply to this message
Autor: Exim Git Commits Mailing List
Data:  
Dla: exim-cvs
Temat: [exim-cvs] Fix eximon continuous updating with timestamped log-files.
Gitweb: http://git.exim.org/exim.git/commitdiff/8c02018827314fde071df70e2e1e080d241ffc49
Commit:     8c02018827314fde071df70e2e1e080d241ffc49
Parent:     d73757b42fbf0a1dea47211dd025215ba9a36568
Author:     Phil Pennock <pdp@???>
AuthorDate: Tue Jun 4 17:34:36 2013 -0400
Committer:  Phil Pennock <pdp@???>
CommitDate: Tue Jun 4 17:34:36 2013 -0400


    Fix eximon continuous updating with timestamped log-files.


    Report and fix from Heiko Schlichting.


    Fixes 1363.
---
 doc/doc-txt/ChangeLog     |    6 ++++++
 src/exim_monitor/em_log.c |    4 +++-
 2 files changed, 9 insertions(+), 1 deletions(-)


diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 11079a2..e0411ba 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -196,6 +196,12 @@ PP/20 Added force_command boolean option to pipe transport.
 JH/15 AUTH support on callouts (and hence cutthrough-deliveries).
       Bugzilla 321, 823.


+PP/21 Fix eximon continuous updating with timestamped log-files.
+      Broken in a format-string cleanup in 4.80, missed when I repaired the
+      other false fix of the same issue.
+      Report and fix from Heiko Schlichting.
+      Bugzilla 1363.
+


 Exim version 4.80.1
 -------------------
diff --git a/src/exim_monitor/em_log.c b/src/exim_monitor/em_log.c
index bd1d462..0441edd 100644
--- a/src/exim_monitor/em_log.c
+++ b/src/exim_monitor/em_log.c
@@ -364,7 +364,9 @@ link count of zero on the currently open file. */
 if (log_datestamping)
   {
   uschar log_file_wanted[256];
-  string_format(log_file_wanted, sizeof(log_file_wanted), "%s", CS log_file);
+  /* Do *not* use "%s" here, we need the %D datestamp in the log_file to
+   *   be expanded! */
+  string_format(log_file_wanted, sizeof(log_file_wanted), CS log_file);
   if (Ustrcmp(log_file_wanted, log_file_open) != 0)
     {
     if (LOG != NULL)