diff options
author | Nicholas Clark <nick@ccl4.org> | 2010-11-25 13:53:28 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2010-11-25 13:53:28 +0000 |
commit | a3179684398978e8bf4afba360eb728e4215d751 (patch) | |
tree | c40ed61c5b3f5d74e8abcffa0547e99d27aecdef | |
parent | 2456140e9cfda88ed22ea1c7290a61234c84aea6 (diff) | |
download | perl-a3179684398978e8bf4afba360eb728e4215d751.tar.gz |
Use newSVpvs_flags() instead of sv_2mortal(newSVpvs())
And similarly for newSVpvn() for a known length.
-rw-r--r-- | hv.c | 2 | ||||
-rw-r--r-- | mro.c | 2 | ||||
-rw-r--r-- | pod/perlguts.pod | 2 |
3 files changed, 4 insertions, 2 deletions
@@ -3428,7 +3428,7 @@ Perl_store_cop_label(pTHX_ COP *const cop, const char *label, STRLEN len, if (flags & ~(SVf_UTF8)) Perl_croak(aTHX_ "panic: store_cop_label illegal flag bits 0x%" UVxf, (UV)flags); - labelsv = sv_2mortal(newSVpvn(label, len)); + labelsv = newSVpvn_flags(label, len, SVs_TEMP); if (flags & SVf_UTF8) SvUTF8_on(labelsv); cop->cop_hints_hash @@ -752,7 +752,7 @@ Perl_mro_package_moved(pTHX_ HV * const stash, HV * const oldstash, } if (name_count == 1) { if (HEK_LEN(*namep) == 4 && strnEQ(HEK_KEY(*namep), "main", 4)) { - namesv = sv_2mortal(newSVpvs("")); + namesv = newSVpvs_flags("", SVs_TEMP); } else { namesv = sv_2mortal(newSVhek(*namep)); diff --git a/pod/perlguts.pod b/pod/perlguts.pod index 00df2550f4..8327db2c41 100644 --- a/pod/perlguts.pod +++ b/pod/perlguts.pod @@ -1450,6 +1450,8 @@ L</Reference Counts and Mortality>): PUSHs(sv_2mortal(newSVuv(an_unsigned_integer))) PUSHs(sv_2mortal(newSVnv(a_double))) PUSHs(sv_2mortal(newSVpv("Some String",0))) + /* Although the last example is better written as the more efficient: */ + PUSHs(newSVpvs_flags("Some String", SVs_TEMP)) And now the Perl program calling C<tzname>, the two values will be assigned as in: |