From e0460c1157b8ee4ac0cfc620c399e5e3764cf935 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Sat, 5 May 2012 08:55:58 +0900 Subject: hash refactored --- src/etc.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/etc.c') diff --git a/src/etc.c b/src/etc.c index c7e8391cf..eac71459c 100644 --- a/src/etc.c +++ b/src/etc.c @@ -30,6 +30,18 @@ mrb_data_object_alloc(mrb_state *mrb, struct RClass *klass, void *ptr, const str return data; } +void * +mrb_get_datatype(mrb_state *mrb, mrb_value obj, const struct mrb_data_type *type) +{ + if (SPECIAL_CONST_P(obj) || (mrb_type(obj) != MRB_TT_DATA)) { + return NULL; + } + if (DATA_TYPE(obj) != type) { + return NULL; + } + return DATA_PTR(obj); +} + void * mrb_check_datatype(mrb_state *mrb, mrb_value obj, const struct mrb_data_type *type) { -- cgit v1.2.3