For nodes from different documents, especially for the document
node itself which would always get "idp0" as a result.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688171
*/
void
xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
+ static char base_address;
xmlNodePtr cur = NULL;
xmlXPathObjectPtr obj = NULL;
long val;
if (obj)
xmlXPathFreeObject(obj);
- val = (long)((char *)cur - (char *)doc);
+ val = (long)((char *)cur - (char *)&base_address);
if (val >= 0) {
sprintf((char *)str, "idp%ld", val);
} else {