/*
* call-seq:
* to_a
*
* Return this list as an Array
*/
static VALUE to_array(VALUE self, VALUE rb_node)
{
xmlNodeSetPtr set;
VALUE *elts;
VALUE list;
int i;
nokogiriNodeSetTuple *tuple;
Data_Get_Struct(self, nokogiriNodeSetTuple, tuple);
set = tuple->node_set;
elts = calloc((size_t)set->nodeNr, sizeof(VALUE *));
for(i = 0; i < set->nodeNr; i++) {
if (XML_NAMESPACE_DECL == set->nodeTab[i]->type)
elts[i] = Nokogiri_wrap_xml_namespace2(rb_iv_get(self, "@document"), (xmlNsPtr)(set->nodeTab[i]));
else
elts[i] = Nokogiri_wrap_xml_node(Qnil, set->nodeTab[i]);
}
list = rb_ary_new4((long)set->nodeNr, elts);
/*free(elts); */
return list;
}