From ce0bf9f43d9d1828bfd1d8001dcba729d9553f38 Mon Sep 17 00:00:00 2001 From: marcandre Date: Tue, 6 Nov 2012 17:14:02 +0000 Subject: * struct.c: Support for Struct's enumerators #size [Feature #6636] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- struct.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'struct.c') diff --git a/struct.c b/struct.c index f0307916b3..17e53ab4e0 100644 --- a/struct.c +++ b/struct.c @@ -429,6 +429,9 @@ rb_struct_new(VALUE klass, ...) return rb_class_new_instance(size, mem, klass); } +static VALUE +rb_struct_size(VALUE s); + /* * call-seq: * struct.each {|obj| block } -> struct @@ -455,7 +458,7 @@ rb_struct_each(VALUE s) { long i; - RETURN_ENUMERATOR(s, 0, 0); + RETURN_SIZED_ENUMERATOR(s, 0, 0, rb_struct_size); for (i=0; i