summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--marshal.c3
-rw-r--r--struct.c2
3 files changed, 8 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 2cc1dfb4bd..530de64c7d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sat Sep 8 02:45:33 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * 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.
+
Sat Sep 8 01:46:36 2007 NAKAMURA Usaku <usa@ruby-lang.org>
* regenc.c, regenc.h (onigenc_single_byte_mbc_enc_len): should take
diff --git a/marshal.c b/marshal.c
index f634e3f264..5df52ae277 100644
--- a/marshal.c
+++ b/marshal.c
@@ -1148,9 +1148,6 @@ r_object0(struct load_arg *arg, int *ivp, VALUE extmod)
klass = path2class(r_unique(arg));
mem = rb_struct_s_members(klass);
- if (mem == Qnil) {
- rb_raise(rb_eTypeError, "uninitialized struct");
- }
len = r_long(arg);
values = rb_ary_new2(len);
diff --git a/struct.c b/struct.c
index f1d94945fc..f87b33b050 100644
--- a/struct.c
+++ b/struct.c
@@ -37,7 +37,7 @@ rb_struct_s_members(VALUE klass)
VALUE members = rb_struct_iv_get(klass, "__members__");
if (NIL_P(members)) {
- rb_bug("non-initialized struct");
+ rb_raise(rb_eTypeError, "uninitialized struct");
}
return members;
}