- From: Terje Bless <link@dev.w3.org>
- Date: Fri, 04 Feb 2005 19:44:44 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/validator/httpd/cgi-bin
In directory hutz:/tmp/cvs-serv13939/httpd/cgi-bin
Modified Files:
check
Log Message:
Prevent XHTML output for fatals when ;output=!html. This closes Bug #749.
Index: check
===================================================================
RCS file: /sources/public/validator/httpd/cgi-bin/check,v
retrieving revision 1.383
retrieving revision 1.384
diff -u -d -r1.383 -r1.384
--- check 4 Feb 2005 19:25:20 -0000 1.383
+++ check 4 Feb 2005 19:44:42 -0000 1.384
@@ -567,7 +567,7 @@
.EOF.
}
my $title = 'No Character Encoding Found! Falling back to UTF-8.';
- &add_warning($File, 'fatal', $title, $message);
+ &add_warning($File, 'fallback', $title, $message);
$File->{Tentative} |= T_ERROR; # Can never be valid.
$File->{Charset}->{Use} = 'utf-8';
}
@@ -1107,11 +1107,13 @@
my $Title = shift;
my $Message = shift;
- push @{$File->{Warnings}}, {
- Class => $Class,
- Title => $Title,
- Message => $Message,
- };
+ if ($File->{Mode} eq 'html' or $Class eq 'fatal') {
+ push @{$File->{Warnings}}, {
+ Class => $Class,
+ Title => $Title,
+ Message => $Message,
+ };
+ }
}
@@ -1705,7 +1707,7 @@
if ($err->{msg} =~ m(prolog can\'t be omitted)) {
my $dtd = ($File->{Mode} == MODE_SGML ?
'HTML 4.01 Transitional' : 'XHTML 1.0 Transitional');
- my $class = 'fatal';
+ my $class = 'fallback';
my $title = "No DOCTYPE Found! Falling Back to $dtd";
my $message = <<".EOF.";
<p>
@@ -2887,12 +2889,24 @@
my $Flags = shift;
return unless $File->{'Error Flagged'};
+ return if $File->{'Error Message'} eq ''; # Previous error, keep going.
- &prep_template($File, $E);
+ if ($File->{Output} eq 'html') {
+ &prep_template($File, $E);
- $E->param(error_message => $File->{'Error Message'});
- print $E->output;
- exit;
+ $E->param(error_message => $File->{'Error Message'});
+ print $E->output;
+ exit;
+ } else {
+ &add_warning($File, 'fatal', 'Fatal Error', <<".EOF.");
+A fatal error has occurred while processing the requested document. Processing
+has continued but any later output will be of dubious quality. Limitations of
+this output mode prevent the full error message from being returned; please
+retry this operation in interactive mode using the web interface to see the
+actual error message.
+.EOF.
+ $File->{'Error Message'} = '';
+ }
}
#
Received on Friday, 4 February 2005 19:44:45 UTC