Only in libxml-ruby-0.3.8.1/ext: .DS_Store
Only in libxml-ruby-0.3.8.1/ext/xml: .DS_Store
Only in libxml-ruby-0.3.8.1/ext/xml: Makefile
Only in libxml-ruby-0.3.8.1/ext/xml: extconf.h
Only in libxml-ruby-0.3.8.1/ext/xml: mkmf.log
diff -ru libxml-ruby-0.3.8/ext/xml/ruby_xml_attr.c libxml-ruby-0.3.8.1/ext/xml/ruby_xml_attr.c
--- libxml-ruby-0.3.8/ext/xml/ruby_xml_attr.c	2006-02-21 15:40:16.000000000 -0500
+++ libxml-ruby-0.3.8.1/ext/xml/ruby_xml_attr.c	2006-06-09 12:31:20.000000000 -0400
@@ -173,6 +173,18 @@
 			  ruby_xml_attr_free, rxa));
 }
 
+VALUE
+ruby_xml_attr_new3(VALUE class, VALUE xd, xmlAttrPtr attr) {
+  ruby_xml_attr *rxa;
+
+  rxa = ALLOC(ruby_xml_attr);
+  rxa->attr = attr;
+  rxa->xd = xd;
+  rxa->is_ptr = 1;
+  return(Data_Wrap_Struct(class, ruby_xml_attr_mark,
+			  NULL, rxa));
+}
+
 
 /*
  * call-seq:
@@ -184,10 +196,11 @@
 ruby_xml_attr_next_get(VALUE self) {
   ruby_xml_attr *rxa;
   Data_Get_Struct(self, ruby_xml_attr, rxa);
+  
   if (rxa->attr->next == NULL)
     return(Qnil);
   else
-    return(ruby_xml_attr_new(cXMLAttr, rxa->xd, rxa->attr->next));
+    return(ruby_xml_attr_new3(cXMLAttr, rxa->xd, rxa->attr->next));
 }
 
 
@@ -303,7 +316,7 @@
   if (rxa->attr->prev == NULL)
     return(Qnil);
   else
-    return(ruby_xml_attr_new(cXMLAttr, rxa->xd, rxa->attr->prev));
+    return(ruby_xml_attr_new3(cXMLAttr, rxa->xd, rxa->attr->prev));
 }
 
 
diff -ru libxml-ruby-0.3.8/ext/xml/ruby_xml_node.c libxml-ruby-0.3.8.1/ext/xml/ruby_xml_node.c
--- libxml-ruby-0.3.8/ext/xml/ruby_xml_node.c	2006-04-12 08:08:39.000000000 -0400
+++ libxml-ruby-0.3.8.1/ext/xml/ruby_xml_node.c	2006-06-09 12:20:03.000000000 -0400
@@ -1698,7 +1698,7 @@
 
   if (node->node->type == XML_ELEMENT_NODE) {
     attr = node->node->properties;
-    return(ruby_xml_attr_new2(cXMLAttr, node->xd, attr));
+    return(ruby_xml_attr_new3(cXMLAttr, node->xd, attr));
   } else {
     return(Qnil);
   }
Only in libxml-ruby-0.3.8.1/ext/xml: v.rb
