From: Rafael Garcia-Suarez Date: Wed, 21 Dec 2005 11:12:32 +0000 (+0000) Subject: Fix for [perl #37999] lc() + Latin-1 chars is failing erratically X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=565a3db3dc85d0f63074b38e7019290e4f8f3766;p=p5sagit%2Fp5-mst-13.2.git Fix for [perl #37999] lc() + Latin-1 chars is failing erratically based on copying part of change #22196 from do_chomp() to do_chop(). p4raw-link: @22196 on //depot/perl: a6aa349da2cd706a05b205fa788c278b74c24bdc p4raw-id: //depot/perl@26431 --- diff --git a/doop.c b/doop.c index c23093c..09cb6f5 100644 --- a/doop.c +++ b/doop.c @@ -967,6 +967,13 @@ Perl_do_chop(pTHX_ register SV *astr, register SV *sv) if (SvREADONLY(sv)) Perl_croak(aTHX_ PL_no_modify); } + + if (PL_encoding && !SvUTF8(sv)) { + /* like in do_chomp(), utf8-ize the sv as a side-effect + * if we're using encoding. */ + sv_recode_to_utf8(sv, PL_encoding); + } + s = SvPV(sv, len); if (len && !SvPOK(sv)) s = SvPV_force(sv, len);