Here is a patch that propagates the error outside of timsort to xmlXPathNodeSetSort. But question is what to do there. So far sorting was not supposed to fail. Timsort needs to allocate extra memory (does not work in place) and it can fail. Libxml error can be reported in xmlXPathNodeSetSort, but there is no easy way to propagate the error outside xmlXPathNodeSetSort.
Vojtech -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Ralf Junker Sent: 1. října 2012 17:23 To: [email protected] Subject: [xml] timsort.h error handling On memory reallocation error, timsort.h just prints to stderr and exits (see code extract below). Should it not better propagate the error to the libxml2 error handler? Ralf static void TIM_SORT_RESIZE(TEMP_STORAGE_T *store, const size_t new_size) { if (store->alloc < new_size) { SORT_TYPE *tempstore = (SORT_TYPE *)realloc(store->storage, new_size * sizeof(SORT_TYPE)); if (tempstore == NULL) { fprintf(stderr, "Error allocating temporary storage for tim sort: need %lu bytes", sizeof(SORT_TYPE) * new_size); exit(1); } store->storage = tempstore; store->alloc = new_size; } } _______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] https://mail.gnome.org/mailman/listinfo/xml
timsort_propagate_error.patch
Description: timsort_propagate_error.patch
_______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] https://mail.gnome.org/mailman/listinfo/xml
