#define magic_setuvar Perl_magic_setuvar
#define magic_setvec Perl_magic_setvec
#define magic_sizepack Perl_magic_sizepack
-#define magic_unchain Perl_magic_unchain
#define magic_wipepack Perl_magic_wipepack
#define magicname Perl_magicname
#define markstack_grow Perl_markstack_grow
magic_setuvar
magic_setvec
magic_sizepack
-magic_unchain
magic_wipepack
magicname
markstack_grow
return 0;
}
-int
-magic_unchain(SV *sv, MAGIC *mg)
-{
- sv_unmagic(sv, mg->mg_type);
- return 0;
-}
-
#ifdef USE_LOCALE_COLLATE
int
magic_setcollxfrm(SV *sv, MAGIC *mg)
EXT MGVTBL vtbl_defelem = {magic_getdefelem,magic_setdefelem,
0, 0, magic_freedefelem};
-EXT MGVTBL vtbl_regexp = {0,magic_unchain,0,0, magic_freeregexp};
+EXT MGVTBL vtbl_regexp = {0,0,0,0, magic_freeregexp};
#ifdef USE_LOCALE_COLLATE
EXT MGVTBL vtbl_collxfrm = {0,
my $pat = shift;
my @got;
local(*D);
- if (opendir D, '.') { @got = grep /$pat/o, readdir D; closedir D; }
+ if (opendir D, '.') { @got = grep /$pat/, readdir D; closedir D; }
@got;
}
1;
MAGIC *mg = Null(MAGIC*);
tmpstr = POPs;
- if(SvROK(tmpstr) || SvRMAGICAL(tmpstr)) {
- SV *sv = SvROK(tmpstr) ? SvRV(tmpstr) : tmpstr;
+ if(SvROK(tmpstr)) {
+ SV *sv = SvRV(tmpstr);
if(SvMAGICAL(sv))
mg = mg_find(sv, 'r');
}
pm->op_pmflags = pm->op_pmpermflags; /* reset case sensitivity */
pm->op_pmregexp = pregcomp(t, t + len, pm);
- sv_magic(tmpstr,(SV*)ReREFCNT_inc(pm->op_pmregexp),'r',0,0);
}
}
VIRTUAL int magic_setvec _((SV* sv, MAGIC* mg));
VIRTUAL int magic_set_all_env _((SV* sv, MAGIC* mg));
VIRTUAL U32 magic_sizepack _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_unchain _((SV* sv, MAGIC* mg));
VIRTUAL int magic_wipepack _((SV* sv, MAGIC* mg));
VIRTUAL void magicname _((char* sym, char* name, I32 namlen));
int main _((int argc, char** argv, char** env));
mg->mg_virtual = &vtbl_packelem;
break;
case 'r':
- SvRMAGICAL_on(sv);
mg->mg_virtual = &vtbl_regexp;
break;
case 'S':