diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-05-05 08:55:58 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-05-05 08:55:58 +0900 |
| commit | e0460c1157b8ee4ac0cfc620c399e5e3764cf935 (patch) | |
| tree | af6d190baefcbfec6210582655e306b1f13f5ce3 /src/etc.c | |
| parent | c9a51c43bc32cdd684a0e1b64e6a8bc8dba5d70e (diff) | |
| download | mruby-e0460c1157b8ee4ac0cfc620c399e5e3764cf935.tar.gz mruby-e0460c1157b8ee4ac0cfc620c399e5e3764cf935.zip | |
hash refactored
Diffstat (limited to 'src/etc.c')
| -rw-r--r-- | src/etc.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -31,6 +31,18 @@ mrb_data_object_alloc(mrb_state *mrb, struct RClass *klass, void *ptr, const str } 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) { static const char mesg[] = "wrong argument type %s (expected %s)"; |
