diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-01-10 04:38:48 -0800 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-01-10 04:38:48 -0800 |
| commit | 2747a7fc4367d82b60bfe210027d899cff9b5635 (patch) | |
| tree | 06b34f766d027ba6b5166da8ce88b500173e0533 | |
| parent | 27bce63b62ef54ad3701d7ee4cf484cae7e012a4 (diff) | |
| parent | 1a528da40b25a1c492f5433e4a7b6d3e4ad6740f (diff) | |
| download | mruby-2747a7fc4367d82b60bfe210027d899cff9b5635.tar.gz mruby-2747a7fc4367d82b60bfe210027d899cff9b5635.zip | |
Merge pull request #720 from skandhas/pr-add-mrb_check_hash_type
add mrb_check_hash_type
| -rw-r--r-- | include/mruby/hash.h | 1 | ||||
| -rw-r--r-- | src/hash.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/mruby/hash.h b/include/mruby/hash.h index bb12962ca..acb9de93b 100644 --- a/include/mruby/hash.h +++ b/include/mruby/hash.h @@ -29,6 +29,7 @@ mrb_value mrb_hash_fetch(mrb_state *mrb, mrb_value hash, mrb_value key, mrb_valu mrb_value mrb_hash_delete_key(mrb_state *mrb, mrb_value hash, mrb_value key); mrb_value mrb_hash(mrb_state *mrb, mrb_value obj); mrb_value mrb_hash_keys(mrb_state *mrb, mrb_value hash); +mrb_value mrb_check_hash_type(mrb_state *mrb, mrb_value hash); /* RHASH_TBL allocates st_table if not available. */ #define RHASH(obj) ((struct RHash*)((obj).value.p)) diff --git a/src/hash.c b/src/hash.c index c7a419250..26d9b78b0 100644 --- a/src/hash.c +++ b/src/hash.c @@ -187,6 +187,12 @@ mrb_hash_modify_check(mrb_state *mrb, mrb_value hash) //if (OBJ_FROZEN(hash)) mrb_error_frozen("hash"); } +mrb_value +mrb_check_hash_type(mrb_state *mrb, mrb_value hash) +{ + return mrb_check_convert_type(mrb, hash, MRB_TT_HASH, "Hash", "to_hash"); +} + khash_t(ht) * mrb_hash_tbl(mrb_state *mrb, mrb_value hash) { |
