chiark / gitweb /
Merge branch 'master' of /u/webstump/live/
[modbot-mtm.git] / stump / bin / submission.pl
index fdd5acc2ec4c088acba73cdfb770a2cd4569426f..cb12a290cdcad7ce92c1b0838dabb8e3be1a0675 100755 (executable)
@@ -348,13 +348,18 @@ sub readMessage {
        # In these cases, keep that in $readahead for now,
        # and process the previous header, which is in $_.
        # But, first, a wrinkle ...
-       push @unfolded, (m/^[^:]+:/ ? $& : '????')
-           if s/\n(?=.)/ /g;
-       if (length $_ > 505) { #wtf
-         $_ = substr($_, 0, 500);
-         $_ =~ s/\n?$/\n/;
-         $readahead = $_;
-         $_ = $warning->("Next header truncated!");
+       if (!m/^(?:References):/i) {
+         push @unfolded, (m/^[^:]+:/ ? $& : '????')
+           if s/\n(?=.)//g;
+         my $maxlen = 510;
+         if (length $_ > $maxlen+1) { # $maxlen plus one \n
+           chomp;
+           $_ = substr($_, 0, $maxlen);
+           $_ .= "\n";
+           $readahead = $_;
+           m/^[0-9a-z-]+/i;
+           $_ = $warning->("Next header ($&) truncated!");
+         }
        }
       } else {
        # $_ is empty line at end of headers