зеркало из https://github.com/github/ruby.git
* error.c (rb_check_type): rejects typed data.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
abbd115cae
Коммит
a7c32bf81d
|
@ -1,3 +1,7 @@
|
|||
Wed Jul 8 19:10:22 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* error.c (rb_check_type): rejects typed data.
|
||||
|
||||
Wed Jul 8 18:28:04 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* proc.c ({proc,binding,method}_data_type): typed.
|
||||
|
|
4
error.c
4
error.c
|
@ -282,12 +282,14 @@ rb_check_type(VALUE x, int t)
|
|||
const struct types *type = builtin_types;
|
||||
const struct types *const typeend = builtin_types +
|
||||
sizeof(builtin_types) / sizeof(builtin_types[0]);
|
||||
int xt;
|
||||
|
||||
if (x == Qundef) {
|
||||
rb_bug("undef leaked to the Ruby space");
|
||||
}
|
||||
|
||||
if (TYPE(x) != t) {
|
||||
xt = TYPE(x);
|
||||
if (xt != t || (xt == T_DATA && RTYPEDDATA_P(x))) {
|
||||
while (type < typeend) {
|
||||
if (type->type == t) {
|
||||
const char *etype;
|
||||
|
|
Загрузка…
Ссылка в новой задаче