PApp
view release on metacpan or search on metacpan
sessionid = gv_fetchpv ("PApp::sessionid" , TRUE, SVt_IV);
surlstyle = gv_fetchpv ("PApp::surlstyle" , TRUE, SVt_IV);
}
# the most complex piece of shit
void
surl(...)
PROTOTYPE: @
ALIAS:
salternative = 1
PPCODE:
{
int i;
UV xalternative;
SV *surl;
AV *args = newAV ();
SV *path = 0;
char *svp; STRLEN svl;
int style = 1;
if (SvIOK (GvSV (surlstyle)))
flags = 0;
}
}
}
void
find_path (path)
SV * path
PROTOTYPE: $
PPCODE:
HV *hash;
char *elem = find_path (path, &hash);
EXTEND (SP, 2);
PUSHs (sv_2mortal (newRV_inc ((SV *)hash)));
PUSHs (sv_2mortal (newSVpv (elem, 0)));
SV *
modpath_freeze(modules)
SV * modules
isobject(SV *rv)
CODE:
if (sv_isobject (rv))
XSRETURN_YES;
else
XSRETURN_NO;
void
obj_of (SV *ref)
PROTOTYPE: $
PPCODE:
if (SvROK (ref) && SvMAGICAL (SvRV (ref)))
{
MAGIC *mg = mg_find (SvRV (ref), PERL_MAGIC_tiedelem);
if (mg && mg->mg_obj)
{
XPUSHs (newSVsv (mg->mg_obj));
XSRETURN (1);
}
MODULE = PApp PACKAGE = agni::object
void
DESTROY(SV *rv)
CODE:
/* turn magic off before destruction, to ease perls job */
SvRMAGICAL_off (SvRV (rv));
void
FETCH(SV *self, SV *key)
PPCODE:
agni_try_patch (Perl_pp_helem, agni_fetch_op);
{
SV *ret;
PUTBACK;
ret = agni_fetch (self, key);
SPAGAIN;
if (ret)
XPUSHs (ret);
}
void
STORE(SV *self, SV *key, SV *value)
PPCODE:
/*agni_try_patch (Perl_pp_helem, agni_store_op);*/
PUTBACK;
agni_store (self, key, value);
SPAGAIN;
void
EXISTS(SV *self, SV *key)
PPCODE:
HV *hv = (HV*) SvRV (self);
HV *hvt;
char *key_ = SvPV_nolen (key);
SvRMAGICAL_off (hv);
/* check _-keys in $self and non-_-keys in $self->{_type} */
if (key_[0] == '_')
hvt = hv;
else if (key_[0] >= '1' && key_[0] <= '9')
hvt = (HV *)SvRV (*(hv_fetch (hv, ATTRp, ATTRl, 0)));
else
hvt = (HV *)SvRV (*(hv_fetch (hv, TYPEp, TYPEl, 0)));
XPUSHs (sv_2mortal (newSViv (hv_exists_ent (hvt, key, 0))));
SvRMAGICAL_on (hv);
void
DELETE(SV *self, SV *key)
PPCODE:
HV *hv = (HV*) SvRV (self);
char *key_ = SvPV_nolen (key);
SV *value;
SvRMAGICAL_off (hv);
if (key_[0] != '_' || 1)
{
value = hv_delete_ent (hv, key, 0, 0);
XPUSHs (value);
}
SvRMAGICAL_on (hv);
void
NEXTKEY(self, ...)
SV * self
ALIAS:
FIRSTKEY = 1
PPCODE:
HV *hv = (HV*) SvRV (self);
HV *hvt;
HE *he;
SvRMAGICAL_off (hv);
hvt = (HV *)SvRV (*(hv_fetch (hv, TYPEp, TYPEl, 0)));
if (ix)
hv_iterinit (hvt);
Storable/Storable.xs view on Meta::CPAN
#define InputStream PerlIO *
#endif /* !OutputStream */
MODULE = PApp::Storable PACKAGE = PApp::Storable::Cxt
void
DESTROY(self)
SV *self
PREINIT:
stcxt_t *cxt = (stcxt_t *)SvPVX(SvRV(self));
PPCODE:
if (kbuf)
Safefree(kbuf);
if (!cxt->membuf_ro && mbase)
Safefree(mbase);
if (cxt->membuf_ro && (cxt->msaved).arena)
Safefree((cxt->msaved).arena);
MODULE = PApp::Storable PACKAGE = PApp::Storable
( run in 0.757 second using v1.01-cache-2.11-cpan-5511b514fd6 )