diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-02-15 09:24:35 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-02-15 09:24:35 +0900 |
| commit | 04296925ac81537e029af46ed7622471d8374ce8 (patch) | |
| tree | 47c76e7bec254d2910bf66271126aac6856f08c0 /src | |
| parent | ba812d25ad32df87a101c08d9c0a3632be0c1370 (diff) | |
| download | mruby-04296925ac81537e029af46ed7622471d8374ce8.tar.gz mruby-04296925ac81537e029af46ed7622471d8374ce8.zip | |
Use mrb_funcall_argv() instead of mrb_funcall()
Diffstat (limited to 'src')
| -rw-r--r-- | src/hash.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/hash.c b/src/hash.c index b7bd648c0..d15faa206 100644 --- a/src/hash.c +++ b/src/hash.c @@ -167,6 +167,7 @@ mrb_hash_get(mrb_state *mrb, mrb_value hash, mrb_value key) { khash_t(ht) *h = RHASH_TBL(hash); khiter_t k; + mrb_sym mid; if (h) { k = kh_get(ht, mrb, h, key); @@ -174,11 +175,12 @@ mrb_hash_get(mrb_state *mrb, mrb_value hash, mrb_value key) return kh_value(h, k).v; } - if (mrb_func_basic_p(mrb, hash, mrb_intern_lit(mrb, "default"), mrb_hash_default)) { + mid = mrb_intern_lit(mrb, "default"); + if (mrb_func_basic_p(mrb, hash, mid, mrb_hash_default)) { return hash_default(mrb, hash, key); } /* xxx mrb_funcall_tailcall(mrb, hash, "default", 1, key); */ - return mrb_funcall(mrb, hash, "default", 1, key); + return mrb_funcall_argv(mrb, hash, mid, 1, &key); } MRB_API mrb_value |
