From 5612d195ec39612b7216ff3f28d05ed089452767 Mon Sep 17 00:00:00 2001 From: Daniel Bovensiepen Date: Sun, 3 Jun 2012 23:29:40 +0800 Subject: Improve Class#superclass to ISO --- src/class.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/class.c b/src/class.c index c689552f5..594ed08bc 100644 --- a/src/class.c +++ b/src/class.c @@ -822,10 +822,16 @@ mrb_class_new_class(mrb_state *mrb, mrb_value cv) mrb_value mrb_class_superclass(mrb_state *mrb, mrb_value klass) { - struct RClass *c, *s; + struct RClass *c; + mrb_value superclass; + c = mrb_class_ptr(klass); - s = mrb_class_real(c->super); - return mrb_obj_value(s); + if (c->super) + superclass = mrb_obj_value(mrb_class_real(c->super)); + else + superclass = mrb_nil_value(); + + return superclass; } static mrb_value -- cgit v1.2.3