diff options
| -rw-r--r-- | include/mruby/data.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/include/mruby/data.h b/include/mruby/data.h index 2fffd0c69..c6b380f28 100644 --- a/include/mruby/data.h +++ b/include/mruby/data.h @@ -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) |
