Fix bug in DynaLoader, which has been passing a filename in dynamic
[p5sagit/p5-mst-13.2.git] / universal.c
index 8802cb2..21f2c54 100644 (file)
@@ -111,7 +111,7 @@ S_isa_lookup(pTHX_ HV *stash, const char *name, HV* name_stash,
                    if (ckWARN(WARN_MISC))
                        Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
                                    "Can't locate package %"SVf" for @%s::ISA",
-                                   sv, hvname);
+                                   (void*)sv, hvname);
                    continue;
                }
                if (isa_lookup(basestash, name, name_stash, len, level + 1)) {
@@ -382,8 +382,11 @@ XS(XS_UNIVERSAL_VERSION)
 
        if ( vcmp( req, sv ) > 0 )
            Perl_croak(aTHX_ "%s version %"SVf" (%"SVf") required--"
-                   "this is only version %"SVf" (%"SVf")", HvNAME_get(pkg),
-                   vnumify(req),vnormal(req),vnumify(sv),vnormal(sv));
+                      "this is only version %"SVf" (%"SVf")", HvNAME_get(pkg),
+                      (void*)vnumify(req),
+                      (void*)vnormal(req),
+                      (void*)vnumify(sv),
+                      (void*)vnormal(sv));
     }
 
     if ( SvOK(sv) && sv_derived_from(sv, "version") ) {
@@ -619,7 +622,11 @@ XS(XS_version_qv)
            if ( SvNOK(ver) ) /* may get too much accuracy */
            {
                char tbuf[64];
-               const STRLEN len = my_sprintf(tbuf,"%.9"NVgf, SvNVX(ver));
+#ifdef USE_SNPRINTF
+               const STRLEN len = snprintf(tbuf, sizeof(tbuf), "%.9"NVgf, SvNVX(ver));
+#else
+               const STRLEN len = my_sprintf(tbuf, "%.9"NVgf, SvNVX(ver));
+#endif /* #ifdef USE_SNPRINTF  */
                version = savepvn(tbuf, len);
            }
            else
@@ -917,9 +924,11 @@ XS(XS_PerlIO_get_layers)
                  else {
                       if (namok && argok)
                            XPUSHs(Perl_newSVpvf(aTHX_ "%"SVf"(%"SVf")",
-                                              *namsvp, *argsvp));
+                                                (void*)*namsvp,
+                                                (void*)*argsvp));
                       else if (namok)
-                           XPUSHs(Perl_newSVpvf(aTHX_ "%"SVf, *namsvp));
+                           XPUSHs(Perl_newSVpvf(aTHX_ "%"SVf,
+                                                (void*)*namsvp));
                       else
                            XPUSHs(&PL_sv_undef);
                       nitem++;