1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* eval_error.ci (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@12815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2007-07-19 10:24:17 +00:00
parent 9bf8a37572
commit f47618f89b
3 changed files with 14 additions and 7 deletions

View file

@ -1,3 +1,8 @@
Thu Jul 19 19:24:14 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (get_backtrace): check the result more.
[ruby-dev:31261] [ruby-bugs-12398]
Thu Jul 19 14:38:45 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* bignum.c (rb_big_lshift, rb_big_rshift): separated functions

12
error.c
View file

@ -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));
}
/*

4
eval.c
View file

@ -1197,6 +1197,8 @@ error_pos()
}
}
VALUE rb_check_backtrace(VALUE);
static VALUE
get_backtrace(info)
VALUE info;
@ -1204,7 +1206,7 @@ get_backtrace(info)
if (NIL_P(info)) return Qnil;
info = rb_funcall(info, rb_intern("backtrace"), 0);
if (NIL_P(info)) return Qnil;
return rb_check_array_type(info);
return rb_check_backtrace(info);
}
static void