summaryrefslogtreecommitdiff
path: root/toke.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>2000-03-20 20:37:42 +0000
committerGurusamy Sarathy <gsar@cpan.org>2000-03-20 20:37:42 +0000
commitf08d6ad944c4ecbe4ec19c801b6b512b040abbf6 (patch)
tree971132355e9cddedcd5cac10b6ae1b74d0d74e18 /toke.c
parentafd1915d434259c875b8da032bfece22c20f714f (diff)
downloadperl-f08d6ad944c4ecbe4ec19c801b6b512b040abbf6.tar.gz
change#5797 didn't do the right thing for "\xff\N{WHITE SMILING FACE}"
p4raw-link: @5797 on //depot/perl: e1992b6d91e50ab66a903c570e8d9c48f121f34b p4raw-id: //depot/perl@5837
Diffstat (limited to 'toke.c')
-rw-r--r--toke.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/toke.c b/toke.c
index cb6751a502..375d91738a 100644
--- a/toke.c
+++ b/toke.c
@@ -1479,8 +1479,14 @@ S_scan_const(pTHX_ char *start)
res = new_constant( Nullch, 0, "charnames",
res, Nullsv, "\\N{...}" );
str = SvPV(res,len);
- if (len > 1)
+ if (!has_utf && SvUTF8(res)) {
+ char *ostart = SvPVX(sv);
+ SvCUR_set(sv, d - ostart);
+ SvPOK_on(sv);
+ sv_utf8_upgrade(sv);
+ d = SvPVX(sv) + SvCUR(sv);
has_utf = TRUE;
+ }
if (len > e - s + 4) {
char *odest = SvPVX(sv);