if (xpathObj)
{
xmlNodeSetPtr nodes = xpathObj->nodesetval;
- wrbuf_rewind(record);
if (nodes)
{
int i;
+ if (nodes->nodeNr > 0)
+ wrbuf_rewind(record);
for (i = 0; i < nodes->nodeNr; i++)
{
xmlNode *ptr = nodes->nodeTab[i];
- fprintf(stderr, "xpath result %d type=%d\n", i,
- ptr->type);
if (ptr->type == XML_ELEMENT_NODE)
ptr = ptr->children;
- if (ptr->type == XML_TEXT_NODE)
- for (; ptr; ptr = ptr->next)
+ for (; ptr; ptr = ptr->next)
+ if (ptr->type == XML_TEXT_NODE)
wrbuf_puts(record, (const char *) ptr->content);
}
}
return ret;
}
-static void destroy_select(void *info)
+static void destroy_select(void *vinfo)
{
+ struct select_info *info = vinfo;
+
+ if (info)
+ nmem_destroy(info->nmem);
}