diff options
Diffstat (limited to 'src/class.c')
| -rw-r--r-- | src/class.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/class.c b/src/class.c index fa6adaf28..544f36527 100644 --- a/src/class.c +++ b/src/class.c @@ -810,13 +810,12 @@ mrb_value mrb_class_new_class(mrb_state *mrb, mrb_value cv) { mrb_value super; - if(mrb->ci->argc > 0) { - mrb_get_args(mrb, "o", &super); - } - else { + struct RClass *new_class; + + if (mrb_get_args(mrb, "|o", &super) == 0) { super = mrb_obj_value(mrb->object_class); } - struct RClass *new_class = mrb_class_new(mrb, mrb_class_ptr(super)); + new_class = mrb_class_new(mrb, mrb_class_ptr(super)); return mrb_obj_value(new_class); } |
