Skip to content

Commit 829b1d4

Browse files
committed
Use newSVpvn_flags() rather than sv_2mortal(newSVpvn_utf8)
1 parent 6d97c86 commit 829b1d4

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

class.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ static void S_ensure_module_version(pTHX_ SV *module, SV *version)
471471
static void S_split_attr_nameval(pTHX_ SV *sv, SV **namp, SV **valp)
472472
{
473473
STRLEN svlen = SvCUR(sv);
474-
bool do_utf8 = SvUTF8(sv);
474+
U32 do_utf8 = SvUTF8(sv) ? SVf_UTF8 : 0;
475475

476476
const char *paren_at = (const char *)memchr(SvPVX(sv), '(', svlen);
477477
if(paren_at) {
@@ -485,7 +485,7 @@ static void S_split_attr_nameval(pTHX_ SV *sv, SV **namp, SV **valp)
485485
*/
486486
/* diag_listed_as: SKIPME */
487487
croak("Malformed attribute string");
488-
*namp = sv_2mortal(newSVpvn_utf8(SvPVX(sv), namelen, do_utf8));
488+
*namp = newSVpvn_flags(SvPVX(sv), namelen, SVs_TEMP|do_utf8);
489489

490490
const char *value_at = paren_at + 1;
491491
const char *value_max = SvPVX(sv) + svlen - 2;
@@ -499,7 +499,7 @@ static void S_split_attr_nameval(pTHX_ SV *sv, SV **namp, SV **valp)
499499
value_max -= 1;
500500

501501
if(value_max >= value_at)
502-
*valp = sv_2mortal(newSVpvn_utf8(value_at, value_max - value_at + 1, do_utf8));
502+
*valp = newSVpvn_flags(value_at, value_max - value_at + 1, SVs_TEMP|do_utf8);
503503
else
504504
*valp = NULL;
505505
}

hv.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -648,11 +648,11 @@ Perl_hv_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
648648

649649
if (keysv || is_utf8) {
650650
if (!keysv) {
651-
keysv = newSVpvn_utf8(key, klen, TRUE);
651+
keysv = newSVpvn_flags(key, klen, SVf_UTF8|SVs_TEMP);
652652
} else {
653-
keysv = newSVsv(keysv);
653+
keysv = sv_2mortal(newSVsv(keysv));
654654
}
655-
mg_copy(MUTABLE_SV(hv), sv, (char *)sv_2mortal(keysv), HEf_SVKEY);
655+
mg_copy(MUTABLE_SV(hv), sv, (char *)keysv, HEf_SVKEY);
656656
} else {
657657
mg_copy(MUTABLE_SV(hv), sv, key, klen);
658658
}

0 commit comments

Comments
 (0)