Only in libxml-ruby-0.3.8.1/ext/xml: Makefile
Only in libxml-ruby-0.3.8.1/ext/xml: extconf.h
diff -ru libxml-ruby-0.3.8/ext/xml/extconf.rb libxml-ruby-0.3.8.1/ext/xml/extconf.rb
--- libxml-ruby-0.3.8/ext/xml/extconf.rb	2006-04-24 15:11:47.000000000 -0400
+++ libxml-ruby-0.3.8.1/ext/xml/extconf.rb	2006-06-12 14:02:24.000000000 -0400
@@ -36,6 +36,8 @@
   $CFLAGS = saveflags
 end
 
+$CFLAGS += " -g -ggdb"
+
 unless have_library('z', 'inflate')
   crash('need zlib')
 else
Only in libxml-ruby-0.3.8.1/ext/xml: libxml_so.bundle
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:45:48.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_attr.h libxml-ruby-0.3.8.1/ext/xml/ruby_xml_attr.h
--- libxml-ruby-0.3.8/ext/xml/ruby_xml_attr.h	2006-02-21 15:40:16.000000000 -0500
+++ libxml-ruby-0.3.8.1/ext/xml/ruby_xml_attr.h	2006-06-09 12:51:30.000000000 -0400
@@ -17,5 +17,6 @@
 void ruby_init_xml_attr(void);
 VALUE ruby_xml_attr_new(VALUE class, VALUE xd, xmlAttrPtr attr);
 VALUE ruby_xml_attr_new2(VALUE class, VALUE xd, xmlAttrPtr attr);
+VALUE ruby_xml_attr_new3(VALUE class, VALUE xd, xmlAttrPtr attr);
 VALUE ruby_xml_attr_name_get(VALUE self);
 #endif
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-12 14:58:21.000000000 -0400
@@ -1696,9 +1696,9 @@
 
   Data_Get_Struct(self, ruby_xml_node, node);
 
-  if (node->node->type == XML_ELEMENT_NODE) {
+  if (node->node->type == XML_ELEMENT_NODE && node->node->properties != NULL) {
     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: pkg
