From 64ec05158895f2c0a9f0aaf1249746d2e5566d00 Mon Sep 17 00:00:00 2001 From: matz Date: Sat, 8 Sep 2007 01:22:58 +0000 Subject: * struct.c (rb_struct_s_members): should raise TypeError instead of call rb_bug(). [ruby-dev:31709] * marshal.c (r_object0): no nil check require any more. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- struct.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'struct.c') diff --git a/struct.c b/struct.c index 88357dedc9..aaa2a4bce7 100644 --- a/struct.c +++ b/struct.c @@ -41,7 +41,10 @@ rb_struct_s_members(klass) VALUE members = rb_struct_iv_get(klass, "__members__"); if (NIL_P(members)) { - rb_bug("non-initialized struct"); + rb_raise(rb_eTypeError, "uninitialized struct"); + } + if (TYPE(members) != T_ARRAY) { + rb_raise(rb_eTypeError, "corrupted struct"); } return members; } -- cgit v1.2.3