htmltidy robustness fixes

* htmltidy: Avoid returning undef if tidy fails. Also avoid returning the
  untidied content if tidy crashes. In either case, it seems best to tidy
  the content to nothing.
* htmltidy: Avoid spewing tidy errors to stderr.
master
Joey Hess 2008-09-27 14:27:16 -04:00
parent 9ec9d6901d
commit 67f38832aa
2 changed files with 8 additions and 4 deletions

View File

@ -31,11 +31,11 @@ sub sanitize (@) { #{{{
my $pid;
my $sigpipe=0;
$SIG{PIPE}=sub { $sigpipe=1 };
$pid=open2(*IN, *OUT, 'tidy -quiet -asxhtml -utf8 --show-body-only yes --show-warnings no --tidy-mark no --markup yes');
$pid=open2(*IN, *OUT, 'tidy -quiet -asxhtml -utf8 --show-body-only yes --show-warnings no --tidy-mark no --markup yes 2>/dev/null');
# open2 doesn't respect "use open ':utf8'"
binmode (IN, ':utf8');
binmode (OUT, ':utf8');
binmode (OUT, ':utf8');
print OUT $params{content};
close OUT;
@ -46,7 +46,7 @@ sub sanitize (@) { #{{{
waitpid $pid, 0;
$SIG{PIPE}="DEFAULT";
return $params{content} if $sigpipe;
return "" if $sigpipe || ! defined $ret;
return $ret;
} # }}}

4
debian/changelog vendored
View File

@ -13,6 +13,10 @@ ikiwiki (2.66) UNRELEASED; urgency=low
* Expand usage message and add --help. Closes: #500344
* Beautify urls used in various places. (smcv)
* Export pagetitle, titlepage, linkpage.
* htmltidy: Avoid returning undef if tidy fails. Also avoid returning the
untidied content if tidy crashes. In either case, it seems best to tidy
the content to nothing.
* htmltidy: Avoid spewing tidy errors to stderr.
-- Joey Hess <joeyh@debian.org> Thu, 25 Sep 2008 13:45:55 -0400