History

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"'

Pasi Savanainen committed 14 years ago

Commit fa642051 parent 8290e2d1 file · +12 −3Browse files

Showing the changes to scripts/checkpatch.pl (1 of 1 file). Show all

Unified · Split

scripts/checkpatch.pl+12−3
@@ -1386,6 +1386,8 @@ sub process { · 1385 unmodified lines
1386 my $in_header_lines = 1;1386 my $in_header_lines = 1;
1387 my $in_commit_log = 0; #Scanning lines before patch1387 my $in_commit_log = 0; #Scanning lines before patch
1388 1388
1389 my $non_utf8_charset = 0;
1390
1389 our @report = ();1391 our @report = ();
1390 our $cnt_lines = 0;1392 our $cnt_lines = 0;
1391 our $cnt_error = 0;1393 our $cnt_error = 0;
@@ -1686,10 +1688,17 @@ sub process { · 294 unmodified lines
1686 $in_commit_log = 1;1688 $in_commit_log = 1;
1687 }1689 }
1688 1690
1689# Still not yet in a patch, check for any UTF-81691# Check if there is UTF-8 in a commit log when a mail header has explicitly
1690 if ($in_commit_log && $realfile =~ /^$/ &&1692# declined it, i.e defined some charset where it is missing.
1693 if ($in_header_lines &&
1694 $rawline =~ /^Content-Type:.+charset="(.+)".*$/ &&
1695 $1 !~ /utf-8/i) {
1696 $non_utf8_charset = 1;
1697 }
1698
1699 if ($in_commit_log && $non_utf8_charset && $realfile =~ /^$/ &&
1691 $rawline =~ /$NON_ASCII_UTF8/) {1700 $rawline =~ /$NON_ASCII_UTF8/) {
1692 CHK("UTF8_BEFORE_PATCH",1701 WARN("UTF8_BEFORE_PATCH",
1693 "8-bit UTF-8 used in possible commit log\n" . $herecurr);1702 "8-bit UTF-8 used in possible commit log\n" . $herecurr);
1694 }1703 }
1695 1704