diff options
Diffstat (limited to 'universal.c')
-rw-r--r-- | universal.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/universal.c b/universal.c index f6b25a4d33..28e08969b4 100644 --- a/universal.c +++ b/universal.c @@ -139,6 +139,9 @@ XS(XS_UNIVERSAL_isa) sv = ST(0); + if (SvGMAGICAL(sv)) + mg_get(sv); + if (!SvOK(sv) || !(SvROK(sv) || SvCUR(sv))) XSRETURN_UNDEF; @@ -162,6 +165,9 @@ XS(XS_UNIVERSAL_can) sv = ST(0); + if (SvGMAGICAL(sv)) + mg_get(sv); + if (!SvOK(sv) || !(SvROK(sv) || SvCUR(sv))) XSRETURN_UNDEF; |