--- test/html-webhacc/cc.cgi 2007/07/15 16:39:10 1.9
+++ test/html-webhacc/cc.cgi 2007/07/16 13:56:26 1.12
@@ -15,7 +15,9 @@
$s =~ s/</g;
$s =~ s/>/>/g;
$s =~ s/"/"/g;
- $s =~ s!([\x00-\x09\x0B-\x1F\x7F-\x80])!sprintf 'U+%04X', ord $1!ge;
+ $s =~ s{([\x00-\x09\x0B-\x1F\x7F-\xA0\x{FEFF}\x{FFFC}-\x{FFFF}])}{
+ sprintf 'U+%04X', ord $1;
+ }ge;
return $s;
} # htescape
@@ -28,6 +30,8 @@
exit;
}
+ binmode STDOUT, ':utf8';
+
require Message::DOM::DOMImplementation;
my $dom = Message::DOM::DOMImplementation->new;
@@ -80,6 +84,8 @@
if ($input->{media_type} eq 'text/html') {
require Encode;
require Whatpm::HTML;
+
+ $input->{charset} ||= 'ISO-8859-1'; ## TODO: for now.
my $t = Encode::decode ($input->{charset}, $input->{s});
@@ -87,22 +93,21 @@
Parse Errors
-
-];
+];
push @nav, ['#parse-errors' => 'Parse Error'];
my $onerror = sub {
my (%opt) = @_;
- my ($cls, $msg) = get_text ($opt{type}, $opt{level});
+ my ($type, $cls, $msg) = get_text ($opt{type}, $opt{level});
if ($opt{column} > 0) {
print STDOUT qq[- Line $opt{line} column $opt{column}
\n];
} else {
$opt{line} = $opt{line} - 1 || 1;
print STDOUT qq[- Line $opt{line}
\n];
}
- $opt{type} =~ tr/ /-/;
- $opt{type} =~ s/\|/%7C/g;
- $msg .= qq[ [Description]];
+ $type =~ tr/ /-/;
+ $type =~ s/\|/%7C/g;
+ $msg .= qq[ [Description]];
print STDOUT qq[- $msg
\n];
};
@@ -115,8 +120,7 @@
Whatpm::HTML->parse_string ($t => $doc, $onerror);
}
- print STDOUT qq[
-
+ print STDOUT qq[
];
@@ -185,11 +189,10 @@
require Whatpm::ContentChecker;
my $onerror = sub {
my %opt = @_;
- my ($cls, $msg) = get_text ($opt{type}, $opt{level});
- $opt{type} = $opt{level} . ':' . $opt{type} if defined $opt{level};
- $opt{type} =~ tr/ /-/;
- $opt{type} =~ s/\|/%7C/g;
- $msg .= qq[ [Description]];
+ my ($type, $cls, $msg) = get_text ($opt{type}, $opt{level});
+ $type =~ tr/ /-/;
+ $type =~ s/\|/%7C/g;
+ $msg .= qq[ [Description]];
print STDOUT qq[] . get_node_link ($opt{node}) .
qq[\n], $msg, "\n";
};
@@ -246,6 +249,7 @@
for (@$_) {
$_->{id} = refaddr $_->{element} if defined $_->{element};
delete $_->{element};
+ $_->{is_header} = $_->{is_header} ? 1 : 0;
}
}
}
@@ -493,14 +497,16 @@
{
if (defined $Msg->{$type}) {
my $msg = $Msg->{$type}->[1];
- $msg =~ s/\$([0-9]+)/defined $arg[$1] ? htescape ($arg[$1]) : '(undef)'/ge;
- return ($Msg->{$type}->[0], $msg);
+ $msg =~ s{\$([0-9]+)}{
+ defined $arg[$1] ? htescape ($arg[$1]) : '(undef)';
+ }ge;
+ return ($type, $Msg->{$type}->[0], $msg);
} elsif ($type =~ s/:([^:]*)$//) {
unshift @arg, $1;
redo;
}
}
- return ('', htescape ($_[0]));
+ return ($type, '', htescape ($_[0]));
} # get_text
}
@@ -667,4 +673,4 @@
=cut
-## $Date: 2007/07/15 16:39:10 $
+## $Date: 2007/07/16 13:56:26 $