On 7 févr. 08, at 13:17, Luc Heinrich wrote:

> I don't know the libxml-ruby code well enough yet to propose a clean
> fix (I'm not sure that simply testing for NULL on nodesetval would be
> enough or appropriate), so if anyone could chime in... :)

After a bit of debugging, it seems that having the 'nodesetval' field  
of an 'xmlXPathObject' set to NULL is perfectly normal as far as  
libxml2 is concerned. If you have a look at xpath.c in the libxml2  
sources, the 'xmlXPathNodeCollectAndTest' function explicitely calls  
'xmlXPathCacheWrapNodeSet' with a NULL value, wich creates an  
'xmlXPathObject' with a NULL 'nodesetval'. And that's exactly why the  
'ruby_xml_xpath_object_mark' function crashes in my case.

So it seems that simply checking for a NULL 'nodesetval' in  
'ruby_xml_xpath_object_mark' actually makes sense after all.

-- 
Luc Heinrich


_______________________________________________
libxml-devel mailing list
libxml-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/libxml-devel

Reply via email to