summaryrefslogtreecommitdiff
path: root/universal.c
diff options
context:
space:
mode:
Diffstat (limited to 'universal.c')
-rw-r--r--universal.c6
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;