Alias
view release on metacpan or search on metacpan
#define PERL_VERSION PATCHLEVEL
#define PERL_SUBVERSION SUBVERSION
#endif
#if PERL_REVISION == 5 && (PERL_VERSION < 4 || (PERL_VERSION == 4 && PERL_SUBVERSION <= 75 ))
#define PL_stack_sp stack_sp
#endif
static void process_flag _((char *varname, SV **svp, char **strp, STRLEN *lenp));
static void
process_flag(varname, svp, strp, lenp)
char *varname;
SV **svp;
char **strp;
STRLEN *lenp;
{
GV *vargv = gv_fetchpv(varname, FALSE, SVt_PV);
SV *sv = Nullsv;
char *str = Nullch;
STRLEN len = 0;
if (SvROK(hashref) &&
(hv = (HV *)SvRV(hashref)) && (SvTYPE(hv) == SVt_PVHV))
{
SV *val, *tmpsv;
char *key;
I32 klen;
SV *keypfx, *attrpfx, *deref;
char *keypfx_c, *attrpfx_c, *deref_c;
STRLEN keypfx_l, attrpfx_l, deref_l;
process_flag("Alias::KeyFilter", &keypfx, &keypfx_c, &keypfx_l);
process_flag("Alias::AttrPrefix", &attrpfx, &attrpfx_c, &attrpfx_l);
process_flag("Alias::Deref", &deref, &deref_c, &deref_l);
deref_call = (deref && !deref_c);
LEAVE; /* operate at a higher level */
(void)hv_iterinit(hv);
while ((val = hv_iternextsv(hv, &key, &klen))) {
GV *gv;
int stype = SvTYPE(val);
int deref_this = 1;
int deref_objects = 0;
( run in 0.291 second using v1.01-cache-2.11-cpan-94b05bcf43c )