diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-22 01:57:22 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-22 01:57:22 +0000 |
commit | 1a68238e695ade157853de3bc1f92374dbc50497 (patch) | |
tree | c474a35455785e37ba52fe69d0d6d6f641dbba0b /error.c | |
parent | 78cc8cc1c4d2642e3a234cc1874e26cb258dec50 (diff) |
* eval.c (get_backtrace): check the result more.
[ruby-dev:31261] [ruby-bugs-12398]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@13190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'error.c')
-rw-r--r-- | error.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -488,14 +488,14 @@ static VALUE exc_backtrace(exc) VALUE exc; { - ID bt = rb_intern("bt"); + static ID bt; - if (!rb_ivar_defined(exc, bt)) return Qnil; - return rb_ivar_get(exc, bt); + if (!bt) bt = rb_intern("bt"); + return rb_attr_get(exc, bt); } -static VALUE -check_backtrace(bt) +VALUE +rb_check_backtrace(bt) VALUE bt; { long i; @@ -532,7 +532,7 @@ exc_set_backtrace(exc, bt) VALUE exc; VALUE bt; { - return rb_iv_set(exc, "bt", check_backtrace(bt)); + return rb_iv_set(exc, "bt", rb_check_backtrace(bt)); } /* |