Re: [PATCH] gitweb: fix encode handling for site_{header,footer}
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Nov 17, 2008, 10:40 UTC
- Message-ID
- <200811171140.45884.jnareb@gmail.com>
- In-Reply-To
- <7v8wrizlxo.fsf@gitster.siamese.dyndns.org>
On Mon, 17 Nov 2008, Junio C Hamano wrote:
Show 10 quoted lines
> Tatsuki Sugiura <sugi@nemui.org> writes:
>
> > All non-ASCII chars of site_{header,footer} will be broken
> > by perl IO layer without decoding to utf8.
> >
> > Here is a fix to just call to_utf8 for inputs from these files.
> >
> > Signed-off-by: Tatsuki Sugiura <sugi@nemui.org>
>
> Looks good, thanks.Hmmm... it is good _partial_ solution. I wonder if gitweb doesn't have the same problem with per-project README.html file...
Show 28 quoted lines
> > ---
> > gitweb/gitweb.perl | 4 ++--
> > 1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> > index 933e137..79ca5c2 100755
> > --- a/gitweb/gitweb.perl
> > +++ b/gitweb/gitweb.perl
> > @@ -2929,7 +2929,7 @@ EOF
> >
> > if (-f $site_header) {
> > open (my $fd, $site_header);
> > - print <$fd>;
> > + print map {to_utf8($_)} <$fd>;
> > close $fd;
> > }
> >
> > @@ -3018,7 +3018,7 @@ sub git_footer_html {
> >
> > if (-f $site_footer) {
> > open (my $fd, $site_footer);
> > - print <$fd>;
> > + print map {to_utf8($_)} <$fd>;
> > close $fd;
> > }
> >
> > --
> > 1.5.6.5There was some patch by Recai Oktaş, or Gerrit Pape (or me)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 4c104d2..8b5fcc1 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -16,7 +16,7 @@ use Encode; use Fcntl ':mode'; use File::Find qw(); use File::Basename qw(basename); -binmode STDOUT, ':utf8'; +use open qw(:std :utf8); BEGIN { CGI->compile() if $ENV{'MOD_PERL'}; Then to_utf8() wouldn't be necessary. But I'd like for Perl experts to check it first; for example this doesn't allow $fallback_encoding.
-- Jakub Narębski Poland