Tweaks
[gitmo/Mouse.git] / xs-src / MouseTypeConstraints.xs
index 5ad3389..1001fbd 100644 (file)
@@ -4,12 +4,6 @@
 
 #include "mouse.h"
 
-#if PERL_BCDVERSION >= 0x5008005
-#define LooksLikeNumber(sv) looks_like_number(sv)
-#else
-#define LooksLikeNumber(sv) ( SvPOKp(sv) ? looks_like_number(sv) : (I32)SvNIOKp(sv) )
-#endif
-
 #ifndef SvRXOK
 #define SvRXOK(sv) (SvROK(sv) && SvMAGICAL(SvRV(sv)) && mg_find(SvRV(sv), PERL_MAGIC_qr))
 #endif
@@ -392,7 +386,7 @@ mouse_lookup_isa(pTHX_ HV* const instance_stash, const char* const klass_pv){
 #define find_method_pvn(a, b, c) mouse_stash_find_method(aTHX_ a, b, c)
 #define find_method_pvs(a, b)    mouse_stash_find_method(aTHX_ a, STR_WITH_LEN(b))
 
-static inline GV*
+STATIC_INLINE GV*
 mouse_stash_find_method(pTHX_ HV* const stash, const char* const name, I32 const namelen){
     GV** const gvp = (GV**)hv_fetch(stash, name, namelen, FALSE);
     if(gvp && isGV(*gvp) && GvCV(*gvp)){ /* shortcut */
@@ -553,13 +547,15 @@ XS(XS_Mouse_constraint_check) {
     dVAR;
     dXSARGS;
     MAGIC* const mg = (MAGIC*)XSANY.any_ptr;
+    SV* sv;
 
     if(items < 1){
         croak("Too few arguments for type constraint check functions");
     }
 
-    SvGETMAGIC( ST(0) );
-    ST(0) = boolSV( CALL_FPTR((check_fptr_t)mg->mg_ptr)(aTHX_ mg->mg_obj, ST(0)) );
+    sv = ST(0);
+    SvGETMAGIC(sv);
+    ST(0) = boolSV( CALL_FPTR((check_fptr_t)mg->mg_ptr)(aTHX_ mg->mg_obj, sv) );
     XSRETURN(1);
 }