mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +00:00
checkpatch: check utf-8 content from a commit log when it's missing from charset
Check that a commit log doesn't contain UTF-8 when a mail header explicitly defines a different charset, like 'Content-Type: text/plain; charset="us-ascii"' Signed-off-by: Pasi Savanainen <pasi.savanainen@nixu.com> Cc: Joe Perches <joe@perches.com> Cc: Andy Whitcroft <apw@canonical.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
8290e2d2dc
commit
fa64205df9
@ -1386,6 +1386,8 @@ sub process {
|
||||
my $in_header_lines = 1;
|
||||
my $in_commit_log = 0; #Scanning lines before patch
|
||||
|
||||
my $non_utf8_charset = 0;
|
||||
|
||||
our @report = ();
|
||||
our $cnt_lines = 0;
|
||||
our $cnt_error = 0;
|
||||
@ -1686,10 +1688,17 @@ sub process {
|
||||
$in_commit_log = 1;
|
||||
}
|
||||
|
||||
# Still not yet in a patch, check for any UTF-8
|
||||
if ($in_commit_log && $realfile =~ /^$/ &&
|
||||
# Check if there is UTF-8 in a commit log when a mail header has explicitly
|
||||
# declined it, i.e defined some charset where it is missing.
|
||||
if ($in_header_lines &&
|
||||
$rawline =~ /^Content-Type:.+charset="(.+)".*$/ &&
|
||||
$1 !~ /utf-8/i) {
|
||||
$non_utf8_charset = 1;
|
||||
}
|
||||
|
||||
if ($in_commit_log && $non_utf8_charset && $realfile =~ /^$/ &&
|
||||
$rawline =~ /$NON_ASCII_UTF8/) {
|
||||
CHK("UTF8_BEFORE_PATCH",
|
||||
WARN("UTF8_BEFORE_PATCH",
|
||||
"8-bit UTF-8 used in possible commit log\n" . $herecurr);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user