if (undef) {
if (pkg) {
const HVNAME* const name = HvNAME_HEK(pkg);
-#if PERL_VERSION == 5
- Perl_croak(aTHX_ "%s version %s required--this is only version ",
- name, SvPVx_nolen_const(req));
-#else
Perl_croak(aTHX_
"%" HEKf " does not define $%" HEKf
"::VERSION--version check failed",
HEKfARG(name), HEKfARG(name));
-#endif
}
else {
-#if PERL_VERSION >= 8
+#if PERL_VERSION_GE(5,8,0)
Perl_croak(aTHX_
"%" SVf " defines neither package nor VERSION--"
"version check failed",
SV * svarg2;
vs = sv_newmortal();
svarg2 = ST(2);
-#if PERL_VERSION == 5
- sv_setpvf(vs,"v%s",SvPV_nolen_const(svarg2));
-#else
Perl_sv_setpvf(aTHX_ vs,"v%s",SvPV_nolen_const(svarg2));
-#endif
break;
}
case 2:
rv = NEW_VERSION(vs);
if ( len != sizeof(VXS_CLASS)-1
|| strcmp(classname,VXS_CLASS) != 0 ) /* inherited new() */
-#if PERL_VERSION == 5
- sv_bless(rv, gv_stashpv((char *)classname, GV_ADD));
-#else
sv_bless(rv, gv_stashpvn(classname, len, GV_ADD | flags));
-#endif
VXS_RETURN_M_SV(rv);
}
VXS(version_vcmp)
{
dXSARGS;
- if (items < 1)
- croak_xs_usage(cv, "lobj, ...");
+ if (items < 2)
+ croak_xs_usage(cv, "lobj, robj, ...");
SP -= items;
{
SV * lobj;
SV *rs;
SV *rvs;
SV * robj = ST(1);
- const IV swap = (IV)SvIV(ST(2));
+ const int swap = items > 2 ? SvTRUE(ST(2)) : 0;
if ( !ISA_VERSION_OBJ(robj) )
{
}
if ( items == 2 && (len != 7
|| strcmp(classname,"version")) ) { /* inherited new() */
-#if PERL_VERSION == 5
- sv_bless(rv, gv_stashpv((char *)classname, GV_ADD));
-#else
sv_bless(rv, gv_stashpvn(classname, len, GV_ADD | flags));
-#endif
}
PUSHs(rv);
}