summaryrefslogtreecommitdiff
path: root/gitweb
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-12-03 22:03:09 -0800
committerJunio C Hamano <gitster@pobox.com>2008-12-03 22:03:09 -0800
commitad685681c22c921e3b1c8ec9504289b5cd8e699b (patch)
tree6956bafd2145ac9a96ed89260d6074aa5cb65aa7 /gitweb
parentc76b4c81e79f423c3d50f0cfadcf74de3bee8aea (diff)
parent2dcb5e1ac87330b20962af9199a345eb378d3705 (diff)
downloadgit-ad685681c22c921e3b1c8ec9504289b5cd8e699b.tar.gz
Merge branch 'jn/gitweb-utf8'
* jn/gitweb-utf8: gitweb: Fix handling of non-ASCII characters in inserted HTML files
Diffstat (limited to 'gitweb')
-rwxr-xr-xgitweb/gitweb.perl32
1 files changed, 16 insertions, 16 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 2738643950..95988fba4a 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -2758,6 +2758,15 @@ sub get_file_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
@@ -2946,9 +2955,7 @@ EOF
"<body>\n";
if (-f $site_header) {
- open (my $fd, $site_header);
- print <$fd>;
- close $fd;
+ insert_file($site_header);
}
print "<div class=\"page_header\">\n" .
@@ -3035,9 +3042,7 @@ sub git_footer_html {
print "</div>\n"; # class="page_footer"
if (-f $site_footer) {
- open (my $fd, $site_footer);
- print <$fd>;
- close $fd;
+ insert_file($site_footer);
}
print "</body>\n" .
@@ -4376,9 +4381,7 @@ sub git_project_list {
git_header_html();
if (-f $home_text) {
print "<div class=\"index_include\">\n";
- open (my $fd, $home_text);
- print <$fd>;
- close $fd;
+ insert_file($home_text);
print "</div>\n";
}
print $cgi->startform(-method => "get") .
@@ -4490,13 +4493,10 @@ sub git_summary {
print "</table>\n";
if (-s "$projectroot/$project/README.html") {
- if (open my $fd, "$projectroot/$project/README.html") {
- print "<div class=\"title\">readme</div>\n" .
- "<div class=\"readme\">\n";
- print $_ while (<$fd>);
- print "\n</div>\n"; # class="readme"
- close $fd;
- }
+ print "<div class=\"title\">readme</div>\n" .
+ "<div class=\"readme\">\n";
+ insert_file("$projectroot/$project/README.html");
+ print "\n</div>\n"; # class="readme"
}
# we need to request one more than 16 (0..15) to check if