From f7a0946452dd5c65aa2dae01999c1dd349dabf1d Mon Sep 17 00:00:00 2001 From: Tomoyuki Sahara Date: Fri, 19 Sep 2014 13:22:56 +0900 Subject: [PATCH] mrb_const_defined returns true if it is defined on a super class. --- src/errno.c | 10 +++++----- test/errno.rb | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/errno.c b/src/errno.c index 9524bb52f..06737ac03 100644 --- a/src/errno.c +++ b/src/errno.c @@ -60,14 +60,14 @@ mrb_sce_init(mrb_state *mrb, mrb_value self) static mrb_value mrb_sce_errno(mrb_state *mrb, mrb_value self) { + struct RClass *c; mrb_sym sym; - mrb_value klass; - klass = mrb_obj_value(mrb_class(mrb, self)); + c = mrb_class(mrb, self); sym = mrb_intern_lit(mrb, "Errno"); - if (mrb_const_defined(mrb, klass, sym)) - return mrb_const_get(mrb, klass, sym); - else { + if (mrb_const_defined_at(mrb, c, sym)) { + return mrb_const_get(mrb, mrb_obj_value(c), sym); + } else { sym = mrb_intern_lit(mrb, "errno"); return mrb_attr_get(mrb, self, sym); } diff --git a/test/errno.rb b/test/errno.rb index 29def4d52..790311566 100644 --- a/test/errno.rb +++ b/test/errno.rb @@ -17,10 +17,10 @@ assert('SystemCallError#initialize') do end assert('SystemCallError#errno') do - SystemCallError.new("a", 1).errno == 1 and - SystemCallError.new(1).errno == 1 and - SystemCallError.new("a", 12345).errno == 12345 and - SystemCallError.new(23456).errno == 23456 + assert_equal 1, SystemCallError.new("a", 1).errno + assert_equal 1, SystemCallError.new(1).errno + assert_equal 12345, SystemCallError.new("a", 12345).errno + assert_equal 23456, SystemCallError.new(23456).errno end assert('SystemCallError#inspect') do