Merge branch 'jn/gitweb-utf8'

* jn/gitweb-utf8:
  gitweb: Fix handling of non-ASCII characters in inserted HTML files
This commit is contained in:
Junio C Hamano 2008-12-03 22:03:09 -08:00
commit ad685681c2

View File

@ -2758,6 +2758,15 @@ sub get_file_owner {
return to_utf8($owner); return to_utf8($owner);
} }
# assume that file exists
sub insert_file {
my $filename = shift;
open my $fd, '<', $filename;
print map(to_utf8, <$fd>);
close $fd;
}
## ...................................................................... ## ......................................................................
## mimetype related functions ## mimetype related functions
@ -2946,9 +2955,7 @@ EOF
"<body>\n"; "<body>\n";
if (-f $site_header) { if (-f $site_header) {
open (my $fd, $site_header); insert_file($site_header);
print <$fd>;
close $fd;
} }
print "<div class=\"page_header\">\n" . print "<div class=\"page_header\">\n" .
@ -3035,9 +3042,7 @@ sub git_footer_html {
print "</div>\n"; # class="page_footer" print "</div>\n"; # class="page_footer"
if (-f $site_footer) { if (-f $site_footer) {
open (my $fd, $site_footer); insert_file($site_footer);
print <$fd>;
close $fd;
} }
print "</body>\n" . print "</body>\n" .
@ -4376,9 +4381,7 @@ sub git_project_list {
git_header_html(); git_header_html();
if (-f $home_text) { if (-f $home_text) {
print "<div class=\"index_include\">\n"; print "<div class=\"index_include\">\n";
open (my $fd, $home_text); insert_file($home_text);
print <$fd>;
close $fd;
print "</div>\n"; print "</div>\n";
} }
print $cgi->startform(-method => "get") . print $cgi->startform(-method => "get") .
@ -4490,13 +4493,10 @@ sub git_summary {
print "</table>\n"; print "</table>\n";
if (-s "$projectroot/$project/README.html") { if (-s "$projectroot/$project/README.html") {
if (open my $fd, "$projectroot/$project/README.html") {
print "<div class=\"title\">readme</div>\n" . print "<div class=\"title\">readme</div>\n" .
"<div class=\"readme\">\n"; "<div class=\"readme\">\n";
print $_ while (<$fd>); insert_file("$projectroot/$project/README.html");
print "\n</div>\n"; # class="readme" print "\n</div>\n"; # class="readme"
close $fd;
}
} }
# we need to request one more than 16 (0..15) to check if # we need to request one more than 16 (0..15) to check if