- From: Ville Skytta via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 23 Oct 2009 19:09:46 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/validator/httpd/cgi-bin
In directory hutz:/tmp/cvs-serv7935
Modified Files:
check
Log Message:
Code cleanups.
Index: check
===================================================================
RCS file: /sources/public/validator/httpd/cgi-bin/check,v
retrieving revision 1.712
retrieving revision 1.713
diff -u -d -r1.712 -r1.713
--- check 10 Oct 2009 07:49:03 -0000 1.712
+++ check 23 Oct 2009 19:09:44 -0000 1.713
@@ -500,20 +500,20 @@
# Always transcode, even if the content claims to be UTF-8
$File = transcode($File);
-if (($File->{ContentType} eq "text/html") and ($File->{Charset}->{Default}) and $File->{'Error Flagged'}) {
- $File->{'Error Flagged'} = FALSE; # reset
- # we try again, this time with win-1252
- $File->{Charset}->{Use} = 'windows-1252';
- &add_warning('W04', {W04_charset => "windows-1252", W04_also_tried=> "UTF-8"});
- $File = transcode($File);
-}
-if (($File->{ContentType} eq "text/html") and ($File->{Charset}->{Default}) and $File->{'Error Flagged'}) {
+
+# Try guessing if it didn't work out
+if ($File->{ContentType} eq 'text/html' && $File->{Charset}->{Default}) {
+ my $also_tried = 'UTF-8';
+ for my $cs (qw(windows-1252 iso-8859-1)) {
+ last unless $File->{'Error Flagged'};
$File->{'Error Flagged'} = FALSE; # reset
- # we try again, this time with latin1...
- $File->{Charset}->{Use} = 'iso-8859-1';
- &add_warning('W04', {W04_charset => "iso-8859-1", W04_also_tried => "UTF-8, windows-1252"});
+ $File->{Charset}->{Use} = $cs;
+ &add_warning('W04', { W04_charset => $cs, W04_also_tried => $also_tried });
$File = transcode($File);
+ $also_tried .= ", $cs";
+ }
}
+
# if it still does not work, we abandon hope here
&abort_if_error_flagged($File, O_CHARSET);
@@ -2714,7 +2714,7 @@
# Transcoding failed
if ($@) {
my $line_num = 0;
- foreach my $input_line (split /\r\n|\n|\r/, $input){
+ foreach my $input_line (split /\r\n|\n|\r/, $input) {
$line_num++;
eval { Encode::decode($cs, $input_line, Encode::FB_CROAK); };
if ($@) {
Received on Friday, 23 October 2009 19:09:48 UTC