summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-08-20 23:42:05 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-08-20 23:42:05 +0900
commit4d72d65db19bbc6b5a0c0a7500157f2955a7384c (patch)
tree978c0031afb414ca0d3dc95e44fb4152d69c94f6 /include
parentae283653412c926a9d5b3a08a9ee183417666be3 (diff)
parentb3d0585fe5e437633e13c12029d715721ab3a3e5 (diff)
downloadmruby-4d72d65db19bbc6b5a0c0a7500157f2955a7384c.tar.gz
mruby-4d72d65db19bbc6b5a0c0a7500157f2955a7384c.zip
Merge pull request #2548 from take-cheeze/mrb_data_init
Add API `mrb_data_init` to initialize `MRB_TT_DATA` tagged instance.
Diffstat (limited to 'include')
-rw-r--r--include/mruby/data.h8
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