|
@@ -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);
|
|
|
}
|
|
|
|