universal.c: ->can UTF8 cleanup.
authorBrian Fraser <fraserbn@gmail.com>
Wed, 6 Jul 2011 11:54:11 +0000 (08:54 -0300)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 6 Oct 2011 20:01:09 +0000 (13:01 -0700)
universal.c

index 6ba565d..314af37 100644 (file)
@@ -295,7 +295,6 @@ XS(XS_UNIVERSAL_can)
     dVAR;
     dXSARGS;
     SV   *sv;
-    const char *name;
     SV   *rv;
     HV   *pkg = NULL;
 
@@ -310,7 +309,6 @@ XS(XS_UNIVERSAL_can)
                || (SvGMAGICAL(sv) && SvPOKp(sv) && SvCUR(sv))))
        XSRETURN_UNDEF;
 
-    name = SvPV_nolen_const(ST(1));
     rv = &PL_sv_undef;
 
     if (SvROK(sv)) {
@@ -323,7 +321,7 @@ XS(XS_UNIVERSAL_can)
     }
 
     if (pkg) {
-       GV * const gv = gv_fetchmethod_autoload(pkg, name, FALSE);
+       GV * const gv = gv_fetchmethod_sv_flags(pkg, ST(1), 0);
         if (gv && isGV(gv))
            rv = sv_2mortal(newRV(MUTABLE_SV(GvCV(gv))));
     }