]> git.vpit.fr Git - perl/modules/Variable-Magic.git/blobdiff - Magic.xs
Add the VMG_HAS_PERL_{AND,OR} macros to test for a patchlevel and/or a perl version
[perl/modules/Variable-Magic.git] / Magic.xs
index 85d7c85133e4df513efd0fddb77fee7e22758594..a141792332b31d9952232278b06156bef4d3b086 100644 (file)
--- a/Magic.xs
+++ b/Magic.xs
 # endif
 #endif
 
+#define VMG_HAS_PERL_OR(P, R, V, S) ((VMG_PERL_PATCHLEVEL >= (P)) || (!VMG_PERL_PATCHLEVEL && PERL_VERSION_GE((R), (V), (S))))
+
+#define VMG_HAS_PERL_AND(P, R, V, S) (PERL_VERSION_GE((R), (V), (S)) && (!VMG_PERL_PATCHLEVEL || (VMG_PERL_PATCHLEVEL >= (P))))
+
 /* --- Compatibility ------------------------------------------------------- */
 
 #ifndef Newx
@@ -74,7 +78,7 @@
 # define VMG_UVAR 0
 #endif
 
-#if (VMG_PERL_PATCHLEVEL >= 25854) || (!VMG_PERL_PATCHLEVEL && PERL_VERSION_GE(5, 9, 3))
+#if !defined(VMG_COMPAT_ARRAY_PUSH_NOLEN) && ((VMG_PERL_PATCHLEVEL >= 25854) || (!VMG_PERL_PATCHLEVEL && PERL_VERSION_GE(5, 9, 3)))
 # define VMG_COMPAT_ARRAY_PUSH_NOLEN 1
 #else
 # define VMG_COMPAT_ARRAY_PUSH_NOLEN 0