Make mouse_accessor_get_self() "static inline"
gfx [Tue, 17 Nov 2009 01:41:56 +0000 (10:41 +0900)]
mouse.h
xs-src/MouseAccessor.xs

diff --git a/mouse.h b/mouse.h
index e607cf0..9d86675 100644 (file)
--- a/mouse.h
+++ b/mouse.h
@@ -112,9 +112,6 @@ SV** mouse_av_at_safe(pTHX_ AV* const mi, I32 const ix);
 #define MOUSE_av_at(av, ix)  AvARRAY(av)[ix]
 #endif
 
-#define dMOUSE_self  SV* const self = mouse_accessor_get_self(aTHX_ ax, items, cv)
-SV* mouse_accessor_get_self(pTHX_ I32 const ax, I32 const items, CV* const cv);
-
 #define MOUSE_mg_obj(mg)     ((mg)->mg_obj)
 #define MOUSE_mg_ptr(mg)     ((mg)->mg_ptr)
 #define MOUSE_mg_flags(mg)   ((mg)->mg_private)
index ef5009a..d724f93 100644 (file)
@@ -11,8 +11,9 @@
 
 static MGVTBL mouse_accessor_vtbl; /* MAGIC identity */
 
+#define dMOUSE_self  SV* const self = mouse_accessor_get_self(aTHX_ ax, items, cv)
 
-SV*
+static inline SV*
 mouse_accessor_get_self(pTHX_ I32 const ax, I32 const items, CV* const cv) {
     if(items < 1){
         croak("Too few arguments for %s", GvNAME(CvGV(cv)));