This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Rewrite sv_catsv to pass SV_CAT* flags to sv_catpvn
authorFather Chrysostomos <sprout@cpan.org>
Sat, 8 Oct 2011 13:09:38 +0000 (06:09 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sat, 8 Oct 2011 20:26:26 +0000 (13:26 -0700)
commit7f0bfbeaa5bacddb87a1fd89935735309cd50040
tree77b52e5d681f208c5cde208486e5e3be288a882c
parent090c3c371910e06ac0c1a1cffa612da15d68c728
Rewrite sv_catsv to pass SV_CAT* flags to sv_catpvn

(Both functions actually end with _flags, but I’m trying to keep the
first line short.)

Now that sv_catpvn_flags has this functionality (as of c682ebef86),
sv_catsv can use it, which avoids creating an extra SV for the
utf8+bytes case and removes some duplicate logic.

Also, one code path in sv_utf8_upgrade_flags_grow was ignore the
_grow, causing crashes after the sv_catsv change, so this patch fixes
that, too.

Also, sv_catpvn_flags was not allocating a byte for the trailing
nul, which was entirely my fault (c682ebef86).  So that is hereby
fixed as well.
sv.c