diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/class.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/class.c b/src/class.c index 668f9a6ce..e8f9b7638 100644 --- a/src/class.c +++ b/src/class.c @@ -1254,7 +1254,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) else { uint32_t kwnum = kwargs->num; uint32_t required = kwargs->required; - const char *const *kname = kwargs->table; + const mrb_sym *kname = kwargs->table; mrb_value *values = kwargs->values; uint32_t j; const uint32_t keyword_max = 40; @@ -1264,16 +1264,16 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) } for (j = required; j > 0; j --, kname ++, values ++) { - mrb_value k = mrb_symbol_value(mrb_intern_cstr(mrb, *kname)); + mrb_value k = mrb_symbol_value(*kname); if (!mrb_hash_key_p(mrb, ksrc, k)) { - mrb_raisef(mrb, E_ARGUMENT_ERROR, "missing keyword: %s", *kname); + mrb_raisef(mrb, E_ARGUMENT_ERROR, "missing keyword: %n", *kname); } *values = mrb_hash_delete_key(mrb, ksrc, k); mrb_gc_protect(mrb, *values); } for (j = kwnum - required; j > 0; j --, kname ++, values ++) { - mrb_value k = mrb_symbol_value(mrb_intern_cstr(mrb, *kname)); + mrb_value k = mrb_symbol_value(*kname); if (mrb_hash_key_p(mrb, ksrc, k)) { *values = mrb_hash_delete_key(mrb, ksrc, k); mrb_gc_protect(mrb, *values); |
