newSVpvn_share __UNDEFINED__
/* Hint: newSVpvn_share * The SVs created by this function only mimic the behaviour of * shared PVs without really being shared. Only use if you know * what you're doing. */
#ifndef newSVpvn_share
#if { NEED newSVpvn_share }
SV * newSVpvn_share(pTHX_ const char *s, I32 len, U32 hash) { SV *sv; if (len < 0) len = -len; if (!hash) PERL_HASH(hash, (char*) s, len); sv = newSVpvn((char *) s, len); sv_upgrade(sv, SVt_PVIV); SvIVX(sv) = hash; SvREADONLY_on(sv); SvPOK_on(sv); return sv; }
#endif
#endif
__UNDEFINED__ SvSHARED_HASH(sv) (0 + SvUVX(sv))
#define NEED_newSVpvn_share
int newSVpvn_share() PREINIT: const char *s; SV *sv; STRLEN len; U32 hash; CODE: RETVAL = 0; s = "mhx"; len = 3; PERL_HASH(hash, (char *) s, len); sv = newSVpvn_share(s, len, 0); s = 0; RETVAL += strEQ(SvPV_nolen_const(sv), "mhx"); RETVAL += SvCUR(sv) == len; RETVAL += SvSHARED_HASH(sv) == hash; SvREFCNT_dec(sv); s = "foobar"; len = 6; PERL_HASH(hash, (char *) s, len); sv = newSVpvn_share(s, -(I32) len, hash); s = 0; RETVAL += strEQ(SvPV_nolen_const(sv), "foobar"); RETVAL += SvCUR(sv) == len; RETVAL += SvSHARED_HASH(sv) == hash; SvREFCNT_dec(sv); OUTPUT: RETVAL
is(&Devel::PPPort::newSVpvn_share(), 6);
5 POD Errors
The following errors were encountered while parsing the POD:
- Around line 12:
Unknown directive: =provides
- Around line 17:
Unknown directive: =implementation
- Around line 51:
Unknown directive: =xsinit
- Around line 55:
Unknown directive: =xsubs
- Around line 88:
Unknown directive: =tests