소스 검색

Change some macros to allow fine grain usage of then

mingodad 9 년 전
부모
커밋
5a5367b7ae
1개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 4 1
      SquiLu/include/squirrel.h

+ 4 - 1
SquiLu/include/squirrel.h

@@ -318,11 +318,14 @@ typedef struct {
 #define SQ_FUNC_VARS_NO_TOP(v) \
     SQRESULT _rc_;
 
+#define KLASS_VAR(Klass, Var) Klass *Var
+
 #define SQ_GET_INSTANCE_VAR(v, idx, Klass, Var, Klass_tag) \
-	Klass *Var; \
+	KLASS_VAR(Klass, Var); \
 	if((_rc_ = sq_getinstanceup(v,idx,(SQUserPointer*)&Var,(void*)Klass_tag)) < 0) return _rc_;
 
 #define SQ_GET_INSTANCE(v, idx, Klass, Klass_tag) SQ_GET_INSTANCE_VAR(v, idx, Klass, self, Klass_tag)
+#define SQ_GET_INSTANCE2(v, idx, Var, Klass, Klass_tag) SQ_GET_INSTANCE_VAR(v, idx, Klass, Var, Klass_tag)
 
 #define SQ_GET_STRING(v, idx, var)\
     const SQChar *var;\