Re: [PATCH] gitweb: Fix chop_str not to cut in middle of utf8 multibyte chars.
From: Jakub Narebski <hidden>
Date: 2016-06-15 22:44:38
On Wed, 21 May 2008, Anders Waldenborg wrote:
Junio C Hamano wrote:
quoted
I haven't followed the codepath but what do the callers do to the string returned from chop_str? Don't they assume the string hasn't been decoded (because the old implementation of chop_str did not do this to_utf8), and emit the result directly to the output because it also assumes the undecoded format is what the outside world wants? In other words, don't they now need to do different things because returned string has gone through the to_utf8() processing already?The to_utf8() (defined in gitweb.perl, not part of perl it self) is kind of sneaky, it checks if the string already is valid utf8. (guess it should be called ensure_utf8())
Perhaps it should...
chop_str needs to work on decoded string, otherwise character count goes all wrong. But maybe it is better to add the to_utf8() to the callsites?
Or do "binmode $fd, :utf8". But yes, I guess converting to Perl internal form on input would be good idea. Gitweb currently does it partially... -- Jakub Narebski Poland