On Sun, Mar 31, 2013 at 06:44:44PM +0800, Daniel Veillard wrote: > On Sat, Mar 30, 2013 at 07:11:35PM +0000, Alex Bligh wrote: > > > BTW the xml is generated so that should be discarded from the > > > patch, > > > > That's strange. It appears in git and has a history. > > https://git.gnome.org/browse/libxml2/tree/doc/libxml2-api.xml > > > > How does one regenerate it (as the normal build process > > didn't)? > > Ah, well usually I do this only at release times, but it can > be useful when developping a patch too, so have a look at > doc/apibuild.py > > It is a large bit of rather ugly Python, but it scans the .h > files, the .c files, and generate a formal API description of > all exported entry points and structures: > doc/libxml2-api.xml > > >From there a number of other things are generated such as the > online docs, checks for the exported symbol files, python > bindings ...
Ah, another thing which is generated from it is testapi.c (make rebuild_testapi) which is used to exercise the full set of the API against weird input etc ... .... Testing xpath : 32 of 40 functions ... Program received signal SIGSEGV, Segmentation fault. 0x00000000004f9691 in xmlXPathSetContextNode (node=0x82bd50, ctx=0x0) at xpath.c:15091 15091 if (node->doc == ctx->doc) and it indicates you forgot to check the arguments from that new function. There is actually a number of possible error case so it is better to make the function return an error status, I also modified xmlXPathNodeEval to return NULL if str is NULL or if xmlXPathSetContextNode failed :-) I commited the result: https://git.gnome.org/browse/libxml2/commit/?id=28876afb4e67f9f4292fc2a7134f6b97f0618b7d thanks ! Daniel -- Daniel Veillard | Open Source and Standards, Red Hat veill...@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | virtualization library http://libvirt.org/ _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@gnome.org https://mail.gnome.org/mailman/listinfo/xml