diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-09-27 04:46:54 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-09-27 04:46:54 +0000 |
commit | 325319d3e691ee277314657bf54bb4a5603115f0 (patch) | |
tree | 18c235edfe08eaf4a93c61dc7a167af254f3836d /marshal.c | |
parent | 0ca048db3c6654104402345940e1ae4bb1e72fe6 (diff) | |
download | ruby-325319d3e691ee277314657bf54bb4a5603115f0.tar.gz ruby-325319d3e691ee277314657bf54bb4a5603115f0.tar.xz ruby-325319d3e691ee277314657bf54bb4a5603115f0.zip |
* intern.h, struct.c (rb_struct_s_members, rb_struct_members): public
accessors. [ruby-dev:24342]
* marshal.c (w_object, r_object0): use accessors.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@6963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'marshal.c')
-rw-r--r-- | marshal.c | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -635,10 +635,7 @@ w_object(obj, arg, limit) long i; w_long(len, arg); - mem = rb_struct_iv_get(rb_obj_class(obj), "__member__"); - if (mem == Qnil) { - rb_raise(rb_eTypeError, "uninitialized struct"); - } + mem = rb_struct_members(obj); for (i=0; i<len; i++) { w_symbol(SYM2ID(RARRAY(mem)->ptr[i]), arg); w_object(RSTRUCT(obj)->ptr[i], arg, limit); @@ -1196,7 +1193,7 @@ r_object0(arg, proc, ivp, extmod) ID slot; klass = path2class(r_unique(arg)); - mem = rb_struct_iv_get(klass, "__member__"); + mem = rb_struct_s_members(klass); if (mem == Qnil) { rb_raise(rb_eTypeError, "uninitialized struct"); } |