gitweb: Do not use esc_html in esc_path

Do not use esc_html in esc_path subroutine to avoid double quoting;
expand esc_html body (except quoting) in esc_path.

Move esc_path before quot_cec and quot_upr. Add some comments.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Jakub Narebski 2006-11-25 09:43:59 +01:00 коммит произвёл Junio C Hamano
Родитель f64d7fd267
Коммит 391862e345
1 изменённых файлов: 17 добавлений и 11 удалений

Просмотреть файл

@ -585,7 +585,21 @@ sub esc_html ($;%) {
return $str;
}
# Make control characterss "printable".
# quote control characters and escape filename to HTML
sub esc_path {
my $str = shift;
my %opts = @_;
$str = to_utf8($str);
$str = escapeHTML($str);
if ($opts{'-nbsp'}) {
$str =~ s/ /&nbsp;/g;
}
$str =~ s|([[:cntrl:]])|quot_cec($1)|eg;
return $str;
}
# Make control characters "printable", using character escape codes (CEC)
sub quot_cec {
my $cntrl = shift;
my %es = ( # character escape codes, aka escape sequences
@ -605,22 +619,14 @@ sub quot_cec {
return "<span class=\"cntrl\">$chr</span>";
}
# Alternatively use unicode control pictures codepoints.
# Alternatively use unicode control pictures codepoints,
# Unicode "printable representation" (PR)
sub quot_upr {
my $cntrl = shift;
my $chr = sprintf('&#%04d;', 0x2400+ord($cntrl));
return "<span class=\"cntrl\">$chr</span>";
}
# quote control characters and escape filename to HTML
sub esc_path {
my $str = shift;
$str = esc_html($str);
$str =~ s|([[:cntrl:]])|quot_cec($1)|eg;
return $str;
}
# git may return quoted and escaped filenames
sub unquote {
my $str = shift;