You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2014/12/18 14:20:29 UTC
svn commit: r1646453 -
/spamassassin/trunk/lib/Mail/SpamAssassin/Message/Node.pm
Author: mmartinec
Date: Thu Dec 18 13:20:29 2014
New Revision: 1646453
URL: http://svn.apache.org/r1646453
Log:
small optimization: avoid unnecessary copying when reading from a temp file in SA::Message::Node
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Message/Node.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Message/Node.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Message/Node.pm?rev=1646453&r1=1646452&r2=1646453&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Message/Node.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Message/Node.pm Thu Dec 18 13:20:29 2014
@@ -272,8 +272,9 @@ sub raw {
my $fd = $self->{'raw'};
seek($fd, 0, 0) or die "message: cannot rewind file: $!";
- my($inbuf,$nread,$raw_str); $raw_str = '';
- while ( $nread=sysread($fd,$inbuf,16384) ) { $raw_str .= $inbuf }
+ # dbg("message: (raw) reading mime part from a temporary file");
+ my($nread,$raw_str); $raw_str = '';
+ while ( $nread=sysread($fd, $raw_str, 16384, length $raw_str) ) { }
defined $nread or die "error reading: $!";
my @array = split(/^/m, $raw_str, -1);
@@ -308,8 +309,9 @@ sub decode {
my $fd = $self->{'raw'};
seek($fd, 0, 0) or die "message: cannot rewind file: $!";
- my($inbuf,$nread,$raw_str); $raw = '';
- while ( $nread=sysread($fd,$inbuf,16384) ) { $raw .= $inbuf }
+ # dbg("message: (decode) reading mime part from a temporary file");
+ my($nread,$raw_str); $raw = '';
+ while ( $nread=sysread($fd, $raw, 16384, length $raw) ) { }
defined $nread or die "error reading: $!";
dbg("message: empty message read from a temp file") if $raw eq '';