summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/class.c9
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);
}