From b4bea2d7a96cfe3a567dc5d642bed1a6c8b80711 Mon Sep 17 00:00:00 2001 From: Gregory Bean <gbean@codeaurora.org> Date: Thu, 3 Mar 2011 13:46:41 -0800 Subject: [PATCH] Don't complain about MIME headers. When patches contain extended character sets, patches will contain MIME headers after the subject line, which should not be confused for a too-long summary line. Signed-off-by: Gregory Bean <gbean@codeaurora.org> Change-Id: If17d17cc7513eb644d75f486b9cdea3a09ba0dbe (cherry picked from commit 8e6b9d3790595198a34320f1c3f4504cd258fed1) --- scripts/checkpatch.pl | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 459de0d92bf8..166552fd29e8 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -1628,13 +1628,20 @@ sub process { " characters\n" . $herecurr); } } elsif ($shorttext == CHECK_NEXT_SHORTTEXT) { - $shorttext = IN_SHORTTEXT; +# The Subject line doesn't have to be the last header in the patch. +# Avoid moving to the IN_SHORTTEXT state until clear of all headers. +# Per RFC5322, continuation lines must be folded, so any left-justified +# text which looks like a header is definitely a header. + if ($line!~/^[\x21-\x39\x3b-\x7e]+:/) { + $shorttext = IN_SHORTTEXT; # Check for Subject line followed by a blank line. - if (length($line) != 0) { - WARN("non-blank line after summary " . - "line\n" . $sublinenr . $here . - "\n" . $subjectline . "\n" . - $line . "\n"); + if (length($line) != 0) { + WARN("non-blank line after " . + "summary line\n" . + $sublinenr . $here . + "\n" . $subjectline . + "\n" . $line . "\n"); + } } } elsif ($line=~/^Subject: \[[^\]]*\] (.*)/) { $shorttext = CHECK_NEXT_SHORTTEXT;