* numeric.c (coerce_body, coerce_rescue, coerce_rescue_quiet):
  adjust parameter types for rb_rescue.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2016-02-17 02:38:09 +00:00
Родитель cee9c58ef2
Коммит e18654fff2
1 изменённых файлов: 6 добавлений и 4 удалений

Просмотреть файл

@ -239,8 +239,9 @@ num_coerce(VALUE x, VALUE y)
} }
static VALUE static VALUE
coerce_body(VALUE *x) coerce_body(VALUE arg)
{ {
VALUE *x = (VALUE *)arg;
return rb_funcall(x[1], id_coerce, 1, x[0]); return rb_funcall(x[1], id_coerce, 1, x[0]);
} }
@ -259,14 +260,15 @@ coerce_failed(VALUE x, VALUE y)
} }
static VALUE static VALUE
coerce_rescue(VALUE *x) coerce_rescue(VALUE arg)
{ {
VALUE *x = (VALUE *)arg;
coerce_failed(x[0], x[1]); coerce_failed(x[0], x[1]);
return Qnil; /* dummy */ return Qnil; /* dummy */
} }
static VALUE static VALUE
coerce_rescue_quiet(VALUE *x) coerce_rescue_quiet(VALUE arg)
{ {
return Qundef; return Qundef;
} }
@ -281,7 +283,7 @@ do_coerce(VALUE *x, VALUE *y, int err)
if (!rb_respond_to(*y, id_coerce)) { if (!rb_respond_to(*y, id_coerce)) {
if (err) { if (err) {
coerce_rescue(a); coerce_failed(*x, *y);
} }
return FALSE; return FALSE;
} }