git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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.5
There 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
Previous: Junio C HamanoNext: Jakub Narebski
Message 3 of 9 in “gitweb: fix encode handling for site_{header,footer}”
  1. gitweb: fix encode handling for site_{header,footer}Tatsuki Sugiura, Nov 17, 2008
  2. Junio C HamanoNov 17, 2008
  3. Jakub NarebskiNov 17, 2008
  4. gitweb: Fix handling of non-ASCII characters in inserted HTML filesJakub Narebski, Dec 1, 2008
  5. Junio C HamanoDec 3, 2008
  6. Jakub NarebskiDec 3, 2008
  7. Junio C HamanoDec 3, 2008
  8. gitweb: Fix bug in insert_file() subroutineJakub Narebski, Dec 8, 2008
  9. Junio C HamanoDec 8, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.