$favicon = "/static/git-favicon.png";
$javascript = "/static/gitweb.js";
$feature{'highlight'}{'default'} = [1];
- # Fix a bug in Gitweb: FCGI is not Unicode aware.
- if ($first_request) {
- no warnings 'redefine';
- my $enc = Encode::find_encoding('UTF-8');
- my $old_PRINT = \&FCGI::Stream::PRINT;
- my $old_git_blob_plain = \&git_blob_plain;
- my $old_git_snapshot = \&git_snapshot;
- my $new_PRINT = sub {
- my @OUTPUT = @_;
- for (my $i = 1; $i < @_; $i++) {
- $OUTPUT[$i] = $enc->encode($_[$i], Encode::FB_CROAK|Encode::LEAVE_SRC);
- }
- @_ = @OUTPUT;
- goto $old_PRINT;
- };
- my $new_git_blob_plain = sub {
- local *FCGI::Stream::PRINT = $old_PRINT;
- my $ret = $old_git_blob_plain->(@_);
- *FCGI::Stream::PRINT = $new_PRINT;
- return $ret
- };
- my $new_git_snapshot = sub {
- local *FCGI::Stream::PRINT = $old_PRINT;
- my $ret = $old_git_snapshot->(@_);
- *FCGI::Stream::PRINT = $new_PRINT;
- return $ret
- };
- *main::git_blob_plain = $new_git_blob_plain;
- *main::git_snapshot = $new_git_snapshot;
- $actions{blob_plain} = $new_git_blob_plain;
- $actions{snapshot} = $new_git_snapshot;
- *FCGI::Stream::PRINT = $new_PRINT;
- };
'';
};
}