From b6fe3dae4de7002c2f58bc9cfb993033dff7927d Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 2 Apr 1998 10:03:54 +0000 Subject: call initialize git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- struct.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'struct.c') diff --git a/struct.c b/struct.c index 1819c3c1dc..6d31896d37 100644 --- a/struct.c +++ b/struct.c @@ -185,6 +185,7 @@ struct_s_def(argc, argv) struct RString *name; struct RArray *rest; int i; + VALUE st; rb_scan_args(argc, argv, "1*", &name, &rest); Check_Type(name, T_STRING); @@ -192,7 +193,10 @@ struct_s_def(argc, argv) ID id = rb_to_id(rest->ptr[i]); rest->ptr[i] = INT2FIX(id); } - return make_struct(name, rest); + st = make_struct(name, rest); + obj_call_init((VALUE)st); + + return st; } VALUE @@ -215,6 +219,7 @@ struct_alloc(klass, values) st->len = n; MEMCPY(st->ptr, RARRAY(values)->ptr, VALUE, RARRAY(values)->len); memclear(st->ptr+RARRAY(values)->len, n - RARRAY(values)->len); + obj_call_init((VALUE)st); return (VALUE)st; } -- cgit v1.2.3