diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-10-27 04:20:00 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-10-27 04:20:00 +0000 |
| commit | a1d27e4b06bfe243cae99bf9664f276832515458 (patch) | |
| tree | 5ab290fce1412c465e587b3d2c2a2e01d28d5375 /marshal.c | |
| parent | 26cf2ce752d7ee4c62225c5034e5a3e6eaa8f495 (diff) | |
| download | ruby-a1d27e4b06bfe243cae99bf9664f276832515458.tar.gz ruby-a1d27e4b06bfe243cae99bf9664f276832515458.tar.xz ruby-a1d27e4b06bfe243cae99bf9664f276832515458.zip | |
register class/module
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'marshal.c')
| -rw-r--r-- | marshal.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -617,10 +617,11 @@ r_object(arg) switch (type) { case TYPE_LINK: id = r_long(arg); - if (v = rb_hash_aref(arg->data, INT2FIX(id))) { - return v; + v = rb_hash_aref(arg->data, INT2FIX(id)); + if (NIL_P(v)) { + rb_raise(rb_eArgError, "dump format error (unlinked)"); } - rb_raise(rb_eArgError, "dump format error (unlinked)"); + return v; break; case TYPE_UCLASS: @@ -791,7 +792,7 @@ r_object(arg) { char *buf; r_bytes(buf, arg); - return rb_path2class(buf); + return r_regist(rb_path2class(buf), arg); } default: |
