diff options
| author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-29 01:21:15 +0000 |
|---|---|---|
| committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-09-29 01:21:15 +0000 |
| commit | 6ce526c1fb74c032150c1cf99cc01fec6c489047 (patch) | |
| tree | a0c4330e9a364d97054576431744250e2ca643f6 | |
| parent | b5b827310a6c322dd5ec4019580a8ff5ba238370 (diff) | |
| download | ruby-6ce526c1fb74c032150c1cf99cc01fec6c489047.tar.gz ruby-6ce526c1fb74c032150c1cf99cc01fec6c489047.tar.xz ruby-6ce526c1fb74c032150c1cf99cc01fec6c489047.zip | |
* variable.c (rb_ivar_set): fix class instance variable.
* object.c (rb_class_real): cl argument may be 0.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 6 | ||||
| -rw-r--r-- | object.c | 2 | ||||
| -rw-r--r-- | variable.c | 1 |
3 files changed, 9 insertions, 0 deletions
@@ -1,3 +1,9 @@ +Sat Sep 29 10:12:20 2007 Tanaka Akira <akr@fsij.org> + + * variable.c (rb_ivar_set): fix class instance variable. + + * object.c (rb_class_real): cl argument may be 0. + Sat Sep 29 09:12:02 2007 Tanaka Akira <akr@fsij.org> * object.c (rb_class_real): use BUILTIN_TYPE instead of TYPE. @@ -99,6 +99,8 @@ rb_obj_equal(VALUE obj1, VALUE obj2) VALUE rb_class_real(VALUE cl) { + if (cl == 0) + return 0; while ((RBASIC(cl)->flags & FL_SINGLETON) || BUILTIN_TYPE(cl) == T_ICLASS) { cl = RCLASS_SUPER(cl); } diff --git a/variable.c b/variable.c index d5c3bfe10..16859c2ca 100644 --- a/variable.c +++ b/variable.c @@ -1027,6 +1027,7 @@ rb_ivar_set(VALUE obj, ID id, VALUE val) case T_MODULE: if (!RCLASS_IV_TBL(obj)) RCLASS_IV_TBL(obj) = st_init_numtable(); st_insert(RCLASS_IV_TBL(obj), id, val); + break; default: generic_ivar_set(obj, id, val); break; |
