You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by fe...@apache.org on 2005/12/08 21:17:22 UTC
svn commit: r355190 - /spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
Author: felicity
Date: Thu Dec 8 12:17:19 2005
New Revision: 355190
URL: http://svn.apache.org/viewcvs?rev=355190&view=rev
Log:
bug 4719: try to be nice when splitting long body lines, look for a space
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm?rev=355190&r1=355189&r2=355190&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm Thu Dec 8 12:17:19 2005
@@ -1030,8 +1030,11 @@
my @result = ();
foreach my $line (split (/^/m, $_[0])) {
while (length ($line) > MAX_BODY_LINE_LENGTH) {
- push (@result, substr($line, 0, MAX_BODY_LINE_LENGTH));
- substr($line, 0, MAX_BODY_LINE_LENGTH) = '';
+ # try splitting "nicely" so that we don't chop an url in half or
+ # something. if there's no space, then just split at max length.
+ my $length = rindex($line, ' ', MAX_BODY_LINE_LENGTH) + 1;
+ $length ||= MAX_BODY_LINE_LENGTH;
+ push (@result, substr($line, 0, $length, ''));
}
push (@result, $line);
}