diff options
author | Nicholas Clark <nick@ccl4.org> | 2007-02-18 19:40:43 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2007-02-18 19:40:43 +0000 |
commit | b9f83d2f7c4cb24d96302c6fcaa5e60628fad1f8 (patch) | |
tree | 65417bf74a7dc6b1ad198dcf0f64abbe38d16a66 /hv.c | |
parent | be2b1c742382f74864880924170180bbe1904463 (diff) | |
download | perl-b9f83d2f7c4cb24d96302c6fcaa5e60628fad1f8.tar.gz |
Add a new API function newSV_type, to replace the idiom:
sv = newSV(0);
sv_upgrade(sv, type);
p4raw-id: //depot/perl@30347
Diffstat (limited to 'hv.c')
-rw-r--r-- | hv.c | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -1397,9 +1397,7 @@ HV * Perl_newHV(pTHX) { register XPVHV* xhv; - HV * const hv = (HV*)newSV(0); - - sv_upgrade((SV *)hv, SVt_PVHV); + HV * const hv = (HV*)newSV_type(SVt_PVHV); xhv = (XPVHV*)SvANY(hv); assert(!SvOK(hv)); #ifndef NODEFAULT_SHAREKEYS @@ -2589,8 +2587,7 @@ S_refcounted_he_value(pTHX_ const struct refcounted_he *he) case HVrhek_PV: /* Create a string SV that directly points to the bytes in our structure. */ - value = newSV(0); - sv_upgrade(value, SVt_PV); + value = newSV_type(SVt_PV); SvPV_set(value, (char *) he->refcounted_he_data + 1); SvCUR_set(value, he->refcounted_he_val.refcounted_he_u_len); /* This stops anything trying to free it */ |