]> git.donarmstrong.com Git - debbugs.git/blobdiff - scripts/process
include non-breaking spaces in pheader regex for old perl (≤5.18)
[debbugs.git] / scripts / process
index 95d933d7a1caa67e76a3a0d74091a693ea010144..38e4f90c8c1a1e326b5530d8bed341ba29f9a109 100755 (executable)
@@ -180,8 +180,8 @@ for my $hdr (@headerlines) {
     $_ = $hdr;
     s/\n\s/ /g;
     finish() if m/^x-loop: (\S+)$/i && $1 eq "$gMaintainerEmail";
-    my $ins = !m/^subject:/i && !m/^reply-to:/i && !m/^return-path:/i
-           && !m/^From / && !m/^X-Debbugs-/i;
+    my $ins = !m/^(?:(?:subject|reply-to|return-path|mail-followup-to):
+                |From\s|X-Debbugs-)/xi;
     $fwd .= encode_utf8($hdr)."\n" if $ins;
     # print {$debugfh} ">$_<\n";
     if (s/^(\S+):\s*//) {
@@ -225,7 +225,10 @@ for my $phline (@bodylines)
     # Fixes #488554
     $phline =~ s/\xef\xbb\xbf//g;
     $phline =~ s/\N{U+FEFF}//g;
-    last if $phline !~ m/^([\w-]+):\s*(\S.*)/;
+    last if $phline !~ m/^([\w-]+): # psuedoheader
+                        (?:\s|\N{U+00A0})* # zero or more spaces, including
+                                            # non-breaking space
+                        (\S.*)/x; # pseudoheader value
     my ($fn, $fv) = ($1, $2);
     $fv =~ s/\s*$//;
     # pluralize tag/usertag