blob: 104dba9370e3892070139094c9e7352f686b9860 [file] [log] [blame]
################################################################################
##
## $Revision: 2 $
## $Author: mhx $
## $Date: 2010/03/07 13:15:44 +0100 $
##
################################################################################
##
## Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
## Version 2.x, Copyright (C) 2001, Paul Marquess.
## Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
##
## This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself.
##
################################################################################
=provides
newSV_type
=implementation
#ifndef newSV_type
#if { NEED newSV_type }
SV*
newSV_type(pTHX_ svtype const t)
{
SV* const sv = newSV(0);
sv_upgrade(sv, t);
return sv;
}
#endif
#endif
=xsinit
#define NEED_newSV_type
=xsubs
int
newSV_type()
PREINIT:
SV* sv;
CODE:
RETVAL = 0;
sv = newSV_type(SVt_NULL);
if (SvTYPE(sv) == SVt_NULL)
{
RETVAL++;
}
SvREFCNT_dec(sv);
sv = newSV_type(SVt_PVIV);
if (SvTYPE(sv) == SVt_PVIV)
{
RETVAL++;
}
SvREFCNT_dec(sv);
sv = newSV_type(SVt_PVHV);
if (SvTYPE(sv) == SVt_PVHV)
{
RETVAL++;
}
SvREFCNT_dec(sv);
sv = newSV_type(SVt_PVAV);
if (SvTYPE(sv) == SVt_PVAV)
{
RETVAL++;
}
SvREFCNT_dec(sv);
OUTPUT:
RETVAL
=tests plan => 1
ok(Devel::PPPort::newSV_type(), 4);