diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 2000-07-11 18:43:26 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 2000-07-11 18:43:26 +0000 |
commit | 036b4402dc24284de44ae733b52896d6fd4fbb77 (patch) | |
tree | d5e9e3da35cb3d3e73042376fa1e177e1605d2ae /pp.c | |
parent | 5e8d048a952c2fb1d246a3acf32bd1f15a6358fa (diff) | |
download | perl-036b4402dc24284de44ae733b52896d6fd4fbb77.tar.gz |
integrate cfgperl changes#6252..6260 into mainline
p4raw-link: @6260 on //depot/cfgperl: fc865a0069737312ca5ef9762fe8a9be7aa37747
p4raw-link: @6252 on //depot/cfgperl: 0e4dedf1581344244dfa297db1d00c01c5f821aa
p4raw-id: //depot/perl@6362
p4raw-integrated: from //depot/cfgperl@6361 'copy in'
t/pragma/constant.t (@5717..) t/op/pack.t t/pragma/warn/op
(@5996..) pp_proto.h (@6243..) t/op/my_stash.t (@6250..)
lib/IPC/Open3.pm (@6253..) 'ignore' t/pragma/warn/regcomp
(@6241..) lib/Exporter.pm (@6251..)
p4raw-integrated: from //depot/cfgperl@6260 'copy in' pp.c (@6217..)
pod/perlfunc.pod (@6248..)
p4raw-integrated: from //depot/cfgperl@6259 'copy in' MANIFEST
(@6250..)
p4raw-integrated: from //depot/cfgperl@6257 'copy in' op.c (@6228..)
'merge in' sv.c (@6244..)
p4raw-integrated: from //depot/cfgperl@6256 'copy in' doop.c (@6254..)
p4raw-integrated: from //depot/cfgperl@6254 'copy in' t/op/tr.t
(@6192..) 'ignore' embedvar.h objXSUB.h (@6243..) 'merge in'
embed.h (@6243..) embed.pl proto.h (@6250..)
Diffstat (limited to 'pp.c')
-rw-r--r-- | pp.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -4375,6 +4375,7 @@ PP(pp_pack) register I32 items; STRLEN fromlen; register char *pat = SvPVx(*++MARK, fromlen); + char *patcopy; register char *patend = pat + fromlen; register I32 len; I32 datumtype; @@ -4405,6 +4406,7 @@ PP(pp_pack) items = SP - MARK; MARK++; sv_setpvn(cat, "", 0); + patcopy = pat; while (pat < patend) { SV *lengthcode = Nullsv; #define NEXTFROM ( lengthcode ? lengthcode : items-- > 0 ? *MARK++ : &PL_sv_no) @@ -4412,8 +4414,12 @@ PP(pp_pack) #ifdef PERL_NATINT_PACK natint = 0; #endif - if (isSPACE(datumtype)) + if (isSPACE(datumtype)) { + patcopy++; continue; + } + if (datumtype == 'U' && pat==patcopy+1) + SvUTF8_on(cat); if (datumtype == '#') { while (pat < patend && *pat != '\n') pat++; |