Data-Dump-Streamer
view release on metacpan or search on metacpan
lib/Data/Dump/Streamer.xs view on Meta::CPAN
int
alias_hv(hvref, key, val)
SV* hvref
SV* key
SV* val
PROTOTYPE: \%$$
PREINIT:
HV* hv;
CODE:
{
if (!SvROK(hvref) || SvTYPE(SvRV(hvref)) != SVt_PVHV)
croak("First argument to alias_hv() must be a hash reference");
hv = (HV*)SvRV(hvref);
SvREFCNT_inc(val);
if (!hv_store_ent(hv, key, val, 0)) {
SvREFCNT_dec(val);
RETVAL=0;
} else {
RETVAL=1;
}
}
OUTPUT:
RETVAL
char *
blessed(sv)
SV * sv
PROTOTYPE: $
CODE:
{
if (SvMAGICAL(sv))
mg_get(sv);
if(!sv_isobject(sv)) {
XSRETURN_UNDEF;
}
RETVAL = (char *)sv_reftype(SvRV(sv),TRUE);
}
OUTPUT:
RETVAL
UV
refaddr(sv)
SV * sv
PROTOTYPE: $
CODE:
{
if(!SvROK(sv)) {
RETVAL = 0;
} else {
RETVAL = PTR2UV(SvRV(sv));
}
}
OUTPUT:
RETVAL
void
weaken(sv)
SV *sv
PROTOTYPE: $
CODE:
#ifdef SvWEAKREF
sv_rvweaken(sv);
XSRETURN_YES;
#else
croak("weak references are not implemented in this release of perl");
#endif
void
isweak(sv)
SV *sv
PROTOTYPE: $
CODE:
#ifdef SvWEAKREF
ST(0) = boolSV(SvROK(sv) && SvWEAKREF(sv));
XSRETURN(1);
#else
XSRETURN_NO;
#endif
IV
weak_refcount(sv)
SV * sv
PROTOTYPE: $
CODE:
{
RETVAL=0;
ADD_WEAK_REFCOUNT;
}
OUTPUT:
RETVAL
IV
sv_refcount(sv)
SV * sv
PROTOTYPE: $
CODE:
{
RETVAL = SvREFCNT(sv);
ADD_WEAK_REFCOUNT;
}
OUTPUT:
RETVAL
IV
refcount(sv)
SV * sv
PROTOTYPE: $
CODE:
{
if(!SvROK(sv)) {
RETVAL=0;
} else {
sv = (SV*)SvRV(sv);
RETVAL = SvREFCNT(sv);
ADD_WEAK_REFCOUNT;
}
}
OUTPUT:
RETVAL
( run in 0.608 second using v1.01-cache-2.11-cpan-39bf76dae61 )