X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=ext%2Fext.c;fp=ext%2Fext.c;h=d88367fc74162828afaf1f306572f4f94da57079;hb=b1caf93615078a76dc4c83589d0234ddfa99f9c2;hp=8ba3d5c16daf8d4a709e761f2263ae0cbae3600a;hpb=4cd5fa452a3a070a52636e2a5677f5e996896646;p=ruby-eet.git diff --git a/ext/ext.c b/ext/ext.c index 8ba3d5c..d88367f 100644 --- a/ext/ext.c +++ b/ext/ext.c @@ -1,5 +1,5 @@ /* - * $Id: ext.c 69 2005-07-08 22:35:08Z tilman $ + * $Id: ext.c 70 2005-07-15 20:31:58Z tilman $ * * Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de) * @@ -533,8 +533,6 @@ static int for_each_prop (VALUE tag, VALUE arg, VALUE stream) { VALUE value, type, tmp; - struct RArray *chunks; - long i; if (rb_obj_is_kind_of (arg, rb_cArray) == Qfalse) rb_raise (ePropError, "hash value is not an array"); @@ -546,11 +544,7 @@ for_each_prop (VALUE tag, VALUE arg, VALUE stream) type = rb_ary_entry (arg, 1); tmp = rb_funcall (value, id_to_eet_chunks, 2, tag, type); - Check_Type (tmp, T_ARRAY); - chunks = RARRAY (tmp); - - for (i = 0; i < chunks->len; i++) - rb_ary_push (stream, chunks->ptr[i]); + rb_ary_concat (stream, tmp); return ST_CONTINUE; }