From: Junio C Hamano Date: Fri, 16 Sep 2011 16:32:16 GMT Subject: Re: [PATCH] gitweb: Strip non-printable characters from syntax highlighter output Message-ID: <7vwrd8fnxr.fsf@alter.siamese.dyndns.org> In-Reply-To: <201109161441.58946.jnareb@gmail.com> Jakub Narebski writes: > The commit message is from Christopher, but I have replaced his solution > of stripping non-printable characters via col(1) program by having gitweb > strip characters not allowed in XML. > > Christopher, could you check that it fixes your issue? Thanks. Micronit: > +# Sanitize for use in XHTML + application/xml+xhtm (valid XML 1.0) > +sub sanitize { > + my $str = shift; > + > + return undef unless defined $str; Given that the _whole_ point of this subroutine is to make $str safe for printing, wouldn't you want to either (1) die, declaring that feeding an undef to this subroutine is a programming error, or (2) return an empty string? Given that the input to this function is from the result of feeding $line to untabify, which relies on $line being defined, and that $line comes from "while (my $line = <$fd>)" (and then chomp $line), it may be Ok for this subroutine to make the same assumption as untabify makes.