X-Git-Url: https://git.ladys.computer/Gitweb/blobdiff_plain/c6a68e66fdd8cadd1165a2ff12a2d990721fa72e739f60a3ffcb5f82909f92ea..c501115e954d706a579612840f4e3a2752eac9947c37cc628b5faa827de3dbd9:/gitweb.cgi diff --git a/gitweb.cgi b/gitweb.cgi index 162f27f..e4dacde 100755 --- a/gitweb.cgi +++ b/gitweb.cgi @@ -14,9 +14,10 @@ use CGI::Util qw(unescape); use CGI::Carp qw(fatalsToBrowser); use Encode; use Fcntl ':mode'; +binmode STDOUT, ':utf8'; my $cgi = new CGI; -my $version = "249"; +my $version = "254"; my $my_url = $cgi->url(); my $my_uri = $cgi->url(-absolute => 1); my $rss_link = ""; @@ -217,8 +218,8 @@ sub esc_url { sub esc_html { my $str = shift; - $str = escapeHTML($str); $str = decode("utf8", $str, Encode::FB_DEFAULT); + $str = escapeHTML($str); return $str; } @@ -718,6 +719,7 @@ sub date_str { # git-logo (cached in browser for one day) sub git_logo { + binmode STDOUT, ':raw'; print $cgi->header(-type => 'image/png', -expires => '+1d'); # cat git-logo.png | hexdump -e '16/1 " %02x" "\n"' | sed 's/ /\\x/g' print "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52" . @@ -1308,7 +1310,8 @@ sub git_blob { " | " . $cgi->a({-href => esc_url("$my_uri?p=$project;a=commitdiff;h=$hash_base")}, "commitdiff") . " | " . $cgi->a({-href => esc_url("$my_uri?p=$project;a=tree;h=$co{'tree'};hb=$hash_base")}, "tree") . "
\n"; if (defined $file_name) { - print $cgi->a({-href => esc_url("$my_uri?p=$project;a=blob_plain;h=$hash;f=$file_name")}, "plain") . "
\n"; + print $cgi->a({-href => esc_url("$my_uri?p=$project;a=blob_plain;h=$hash;f=$file_name")}, "plain") . + " | " . $cgi->a({-href => esc_url("$my_uri?p=$project;a=blob;hb=HEAD;f=$file_name")}, "head") . "
\n"; } else { print $cgi->a({-href => esc_url("$my_uri?p=$project;a=blob_plain;h=$hash")}, "plain") . "
\n"; } @@ -1430,7 +1433,7 @@ sub git_tree { $cgi->a({-href => esc_url("$my_uri?p=$project;a=tree;h=$t_hash" . $base_key . $file_key)}, $t_name) . "\n" . "" . - $cgi->a({-href => esc("$my_uri?p=$project;a=tree;h=$t_hash" . $base_key . $file_key)}, "tree") . + $cgi->a({-href => esc_url("$my_uri?p=$project;a=tree;h=$t_hash" . $base_key . $file_key)}, "tree") . "\n"; } print "\n"; @@ -1809,7 +1812,7 @@ sub git_commit { $cgi->a({-href => esc_url("$my_uri?p=$project;a=blob;h=$from_id;hb=$hash;f=$from_file"), -class => "list"}, esc_html($from_file)) . " with " . (int $similarity) . "% similarity$mode_chng]\n" . "" . - $cgi->a({-href => esc_uresc_url("$my_uri?p=$project;a=blob;h=$to_id;hb=$hash;f=$to_file")}, "blob"); + $cgi->a({-href => esc_url("$my_uri?p=$project;a=blob;h=$to_id;hb=$hash;f=$to_file")}, "blob"); if ($to_id ne $from_id) { print " | " . $cgi->a({-href => esc_url("$my_uri?p=$project;a=blobdiff;h=$to_id;hp=$from_id;hb=$hash;f=$to_file")}, "diff"); }