Code cleanup.
[ruby-eet.git] / ext / ext.c
index 8ba3d5c16daf8d4a709e761f2263ae0cbae3600a..d88367fc74162828afaf1f306572f4f94da57079 100644 (file)
--- 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;
 }