* xmlXPathFreeObject: * @obj: the object to free * * Free up an xmlXPathObjectPtr object. */
| 4540 | * Free up an xmlXPathObjectPtr object. |
| 4541 | */ |
| 4542 | void |
| 4543 | xmlXPathFreeObject(xmlXPathObjectPtr obj) { |
| 4544 | if (obj == NULL) return; |
| 4545 | if ((obj->type == XPATH_NODESET) || (obj->type == XPATH_XSLT_TREE)) { |
| 4546 | if (obj->nodesetval != NULL) |
| 4547 | xmlXPathFreeNodeSet(obj->nodesetval); |
| 4548 | #ifdef LIBXML_XPTR_LOCS_ENABLED |
| 4549 | } else if (obj->type == XPATH_LOCATIONSET) { |
| 4550 | if (obj->user != NULL) |
| 4551 | xmlXPtrFreeLocationSet(obj->user); |
| 4552 | #endif |
| 4553 | } else if (obj->type == XPATH_STRING) { |
| 4554 | if (obj->stringval != NULL) |
| 4555 | xmlFree(obj->stringval); |
| 4556 | } |
| 4557 | xmlFree(obj); |
| 4558 | } |
| 4559 | |
| 4560 | static void |
| 4561 | xmlXPathFreeObjectEntry(void *obj, const xmlChar *name ATTRIBUTE_UNUSED) { |