diff options
| author | take_cheeze <[email protected]> | 2014-08-20 22:42:35 +0900 |
|---|---|---|
| committer | take_cheeze <[email protected]> | 2014-08-20 22:42:35 +0900 |
| commit | b3d0585fe5e437633e13c12029d715721ab3a3e5 (patch) | |
| tree | a67825797db6fdd20742ac8e654ef378b49c9d54 /include | |
| parent | f6f31a8ecd7e8f9f9830f050842e11d2aaef94a1 (diff) | |
| download | mruby-b3d0585fe5e437633e13c12029d715721ab3a3e5.tar.gz mruby-b3d0585fe5e437633e13c12029d715721ab3a3e5.zip | |
Add API `mrb_data_init` to initialize `MRB_TT_DATA` tagged instance.
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/data.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/mruby/data.h b/include/mruby/data.h index 8a62d23db..d457e3722 100644 --- a/include/mruby/data.h +++ b/include/mruby/data.h @@ -51,6 +51,14 @@ MRB_API void *mrb_data_check_get_ptr(mrb_state *mrb, mrb_value, const mrb_data_t *(void**)&sval = mrb_data_get_ptr(mrb, obj, type); \ } while (0) +static inline void +mrb_data_init(mrb_value v, void *ptr, const mrb_data_type *type) +{ + mrb_assert(mrb_type(v) == MRB_TT_DATA); + DATA_PTR(v) = ptr; + DATA_TYPE(v) = type; +} + #if defined(__cplusplus) } /* extern "C" { */ #endif |
