You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jq...@apache.org on 2015/10/26 16:03:14 UTC

svn commit: r1710612 - in /spamassassin/branches/3.4/lib/Mail/SpamAssassin/Logger: File.pm Stderr.pm

Author: jquinn
Date: Mon Oct 26 15:03:14 2015
New Revision: 1710612

URL: http://svn.apache.org/viewvc?rev=1710612&view=rev
Log:
better handling of newlines in debug output

Modified:
    spamassassin/branches/3.4/lib/Mail/SpamAssassin/Logger/File.pm
    spamassassin/branches/3.4/lib/Mail/SpamAssassin/Logger/Stderr.pm

Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin/Logger/File.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin/Logger/File.pm?rev=1710612&r1=1710611&r2=1710612&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Logger/File.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Logger/File.pm Mon Oct 26 15:03:14 2015
@@ -37,10 +37,17 @@ use re 'taint';
 use POSIX ();
 use Time::HiRes ();
 use Mail::SpamAssassin::Logger;
+use Mail::SpamAssassin::Util qw(am_running_on_windows);
 
 use vars qw(@ISA);
 @ISA = ();
 
+# ADDING OS-DEPENDENT LINE TERMINATOR - BUG 6456
+my $eol = "\n";
+if (am_running_on_windows()) {
+  $eol = "\r\n";
+}
+
 sub new {
   my $class = shift;
 
@@ -54,7 +61,7 @@ sub new {
   $self->{timestamp_fmt} = $params{timestamp_fmt};
 
   if (! $self->init()) {
-    die "logger: file initialization failed\n";
+    die "logger: file initialization failed$eol";
   }
 
   return($self);
@@ -75,7 +82,7 @@ sub init {
     return 1;
   }
   else {
-    warn "logger: failed to open file $self->{filename}: $!\n";
+    warn "logger: failed to open file $self->{filename}: $!$eol";
     return 0;
   }
 }
@@ -94,8 +101,8 @@ sub log_message {
   }
   $timestamp .= ' '  if $timestamp ne '';
 
-  my($nwrite) = syswrite(STDLOG, sprintf("%s[%s] %s: %s\n",
-                                         $timestamp, $$, $level, $msg));
+  my($nwrite) = syswrite(STDLOG, sprintf("%s[%s] %s: %s%s",
+                                         $timestamp, $$, $level, $msg, $eol));
   defined $nwrite  or warn "error writing to log file: $!";
 }
 

Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin/Logger/Stderr.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin/Logger/Stderr.pm?rev=1710612&r1=1710611&r2=1710612&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Logger/Stderr.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Logger/Stderr.pm Mon Oct 26 15:03:14 2015
@@ -40,6 +40,17 @@ use Time::HiRes ();
 use vars qw(@ISA);
 @ISA = ();
 
+# ADDING OS-DEPENDENT LINE TERMINATOR - BUG 6456
+
+# Using Mail::SpamAssassin::Util::am_running_on_windows() leads to circular
+# dependencies. So, we are duplicating the code instead.
+use constant RUNNING_ON_WINDOWS => ($^O =~ /^(?:mswin|dos|os2)/oi);
+
+my $eol = "\n";
+if (RUNNING_ON_WINDOWS) {
+  $eol = "\r\n";
+}
+
 sub new {
   my $class = shift;
 
@@ -72,8 +83,8 @@ sub log_message {
   }
   $timestamp .= ' '  if $timestamp ne '';
 
-  my($nwrite) = syswrite(STDERR, sprintf("%s[%d] %s: %s\n",
-                                         $timestamp, $$, $level, $msg));
+  my($nwrite) = syswrite(STDERR, sprintf("%s[%d] %s: %s%s",
+                                         $timestamp, $$, $level, $msg, $eol));
   defined $nwrite  or warn "error writing to log file: $!";
 }