summaryrefslogtreecommitdiff
path: root/struct.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-08-27 03:55:54 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-08-27 03:55:54 +0000
commit707a0a946d55df772012b282c594df790371ec23 (patch)
tree84dec9dacaafa14ca3507be443a228137fea9a03 /struct.c
parent39ac1d7c22072f2d520738098692bdbce2f380df (diff)
1.1c3
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'struct.c')
-rw-r--r--struct.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/struct.c b/struct.c
index f09c697273..c9aa1c589d 100644
--- a/struct.c
+++ b/struct.c
@@ -206,15 +206,14 @@ struct_s_def(argc, argv, klass)
int argc;
VALUE *argv;
{
- struct RString *name;
- struct RArray *rest;
+ VALUE name, rest;
int i;
VALUE st;
rb_scan_args(argc, argv, "1*", &name, &rest);
- for (i=0; i<rest->len; i++) {
- ID id = rb_to_id(rest->ptr[i]);
- rest->ptr[i] = INT2FIX(id);
+ for (i=0; i<RARRAY(rest)->len; i++) {
+ ID id = rb_to_id(RARRAY(rest)->ptr[i]);
+ RARRAY(rest)->ptr[i] = INT2FIX(id);
}
st = make_struct(name, rest, klass);
obj_call_init(st);