perlio - unknown layer
[p5sagit/p5-mst-13.2.git] / universal.c
index 9adc42d..12d31e5 100644 (file)
@@ -74,7 +74,6 @@ S_isa_lookup(pTHX_ HV *stash, const char *name, int len, int level)
                SV* sv = *svp++;
                HV* basestash = gv_stashsv(sv, FALSE);
                if (!basestash) {
-                   dTHR;
                    if (ckWARN(WARN_MISC))
                        Perl_warner(aTHX_ WARN_SYNTAX,
                             "Can't locate package %s for @%s::ISA",
@@ -262,12 +261,12 @@ XS(XS_UNIVERSAL_VERSION)
                    break;
            }
            if (len) {
-               if (SvNIOKp(req) && SvPOK(req)) {
+               if (SvNOK(req) && SvPOK(req)) {
                    /* they said C<use Foo v1.2.3> and $Foo::VERSION
                     * doesn't look like a float: do string compare */
                    if (sv_cmp(req,sv) == 1) {
-                       Perl_croak(aTHX_ "%s v%vd required--"
-                                  "this is only v%vd",
+                       Perl_croak(aTHX_ "%s v%"VDf" required--"
+                                  "this is only v%"VDf,
                                   HvNAME(pkg), req, sv);
                    }
                    goto finish;
@@ -283,7 +282,7 @@ XS(XS_UNIVERSAL_VERSION)
        /* if we get here, we're looking for a numeric comparison,
         * so force the required version into a float, even if they
         * said C<use Foo v1.2.3> */
-       if (SvNIOKp(req) && SvPOK(req)) {
+       if (SvNOK(req) && SvPOK(req)) {
            NV n = SvNV(req);
            req = sv_newmortal();
            sv_setnv(req, n);