diff options
author | SADAHIRO Tomoyuki <BQW10602@nifty.com> | 2004-05-23 06:38:33 +0900 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2004-05-24 15:55:23 +0000 |
commit | f5cee72b6610421c22d816640f267c5b45b0450e (patch) | |
tree | 58695bdf88b1996c5c40a1d59e4ec0f9ac8759b7 /sv.c | |
parent | 11bb82ff512c271f628b999a239bbb2982d80a99 (diff) | |
download | perl-f5cee72b6610421c22d816640f267c5b45b0450e.tar.gz |
Re: utf-8 and taint don't work together
Date: Sat, 22 May 2004 21:38:33 +0900
Message-Id: <20040522212704.C068.BQW10602@nifty.com>
Date: Sun, 23 May 2004 09:56:15 +0900
Message-Id: <20040523095609.E404.BQW10602@nifty.com>
p4raw-id: //depot/perl@22842
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 12 |
1 files changed, 5 insertions, 7 deletions
@@ -3936,18 +3936,15 @@ Perl_sv_utf8_upgrade_flags(pTHX_ register SV *sv, I32 flags) U8 *s, *t, *e; int hibit = 0; - if (!sv) - return 0; - if (!SvPOK(sv)) { STRLEN len = 0; - (void) sv_2pv_flags(sv,&len, flags); - if (!SvPOK(sv)) - return len; + (void) SvPV_force(sv,len); } - if (SvUTF8(sv)) + if (SvUTF8(sv)) { + SvSETMAGIC(sv); return SvCUR(sv); + } if (SvIsCOW(sv)) { sv_force_normal_flags(sv, 0); @@ -3982,6 +3979,7 @@ Perl_sv_utf8_upgrade_flags(pTHX_ register SV *sv, I32 flags) /* Mark as UTF-8 even if no hibit - saves scanning loop */ SvUTF8_on(sv); } + SvSETMAGIC(sv); return SvCUR(sv); } |