mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Add typedef to structures that have mrb_ prefix. Use typedef-ed type instead of struct directly.
This commit is contained in:
@@ -11,19 +11,19 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct mrb_data_type {
|
||||
typedef struct mrb_data_type {
|
||||
const char *struct_name;
|
||||
void (*dfree)(mrb_state *mrb, void*);
|
||||
};
|
||||
} mrb_data_type;
|
||||
|
||||
struct RData {
|
||||
MRB_OBJECT_HEADER;
|
||||
struct iv_tbl *iv;
|
||||
struct mrb_data_type *type;
|
||||
mrb_data_type *type;
|
||||
void *data;
|
||||
};
|
||||
|
||||
struct RData *mrb_data_object_alloc(mrb_state *mrb, struct RClass* klass, void *datap, const struct mrb_data_type *type);
|
||||
struct RData *mrb_data_object_alloc(mrb_state *mrb, struct RClass* klass, void *datap, const mrb_data_type *type);
|
||||
|
||||
#define Data_Wrap_Struct(mrb,klass,type,ptr)\
|
||||
mrb_data_object_alloc(mrb,klass,ptr,type)
|
||||
@@ -37,8 +37,8 @@ struct RData *mrb_data_object_alloc(mrb_state *mrb, struct RClass* klass, void *
|
||||
#define RDATA(obj) ((struct RData *)((obj).value.p))
|
||||
#define DATA_PTR(d) (RDATA(d)->data)
|
||||
#define DATA_TYPE(d) (RDATA(d)->type)
|
||||
void *mrb_get_datatype(mrb_state *mrb, mrb_value, const struct mrb_data_type*);
|
||||
void *mrb_check_datatype(mrb_state *mrb, mrb_value, const struct mrb_data_type*);
|
||||
void *mrb_get_datatype(mrb_state *mrb, mrb_value, const mrb_data_type*);
|
||||
void *mrb_check_datatype(mrb_state *mrb, mrb_value, const mrb_data_type*);
|
||||
#define Data_Get_Struct(mrb,obj,type,sval) do {\
|
||||
*(void**)&sval = mrb_check_datatype(mrb, obj, type); \
|
||||
} while (0)
|
||||
|
||||
Reference in New Issue
Block a user