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 22:07:50 UTC

svn commit: r1646535 - /spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm

Author: mmartinec
Date: Thu Dec 18 21:07:50 2014
New Revision: 1646535

URL: http://svn.apache.org/r1646535
Log:
more avoidance of unnecessary string copying while reading a message

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm?rev=1646535&r1=1646534&r2=1646535&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm Thu Dec 18 21:07:50 2014
@@ -139,8 +139,8 @@ sub new {
       # and is faster than (<$message>) by 10..25 %
       # (a drawback is a short-term double storage of a text in $raw_str)
       #
-      my($inbuf,$nread,$raw_str); $raw_str = '';
-      while ( $nread=sysread($message,$inbuf,16384) ) { $raw_str .= $inbuf }
+      my($nread,$raw_str); $raw_str = '';
+      while ( $nread=sysread($message, $raw_str, 16384, length $raw_str) ) { }
       defined $nread  or die "error reading: $!";
       @message = split(/^/m, $raw_str, -1);