make Data_Make_Struct a statement to make it C99 compatible

This commit is contained in:
Yukihiro "Matz" Matsumoto
2013-04-04 04:38:31 +09:00
parent 75f5535c4f
commit d8c4f6a080
+5 -5
View File
@@ -28,11 +28,11 @@ struct RData *mrb_data_object_alloc(mrb_state *mrb, struct RClass* klass, void *
#define Data_Wrap_Struct(mrb,klass,type,ptr)\
mrb_data_object_alloc(mrb,klass,ptr,type)
#define Data_Make_Struct(mrb,klass,strct,type,sval,data) (\
sval = mrb_malloc(mrb, sizeof(strct)),\
{ static const strct zero = { 0 }; *sval = zero; },\
data = Data_Wrap_Struct(mrb,klass,type,sval)\
)
#define Data_Make_Struct(mrb,klass,strct,type,sval,data) do { \
sval = mrb_malloc(mrb, sizeof(strct)); \
{ static const strct zero = { 0 }; *sval = zero; };\
data = Data_Wrap_Struct(mrb,klass,type,sval);\
} while (0)
#define RDATA(obj) ((struct RData *)((obj).value.p))
#define DATA_PTR(d) (RDATA(d)->data)