104 lines
3.2 KiB
Diff
104 lines
3.2 KiB
Diff
|
|
From 74dcc10b556cc4d1088a2496f7e93f8a8040447e Mon Sep 17 00:00:00 2001
|
||
|
|
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||
|
|
Date: Mon, 17 Aug 2020 03:24:56 +0200
|
||
|
|
Subject: [PATCH] Remove dead code in xinclude.c
|
||
|
|
|
||
|
|
'doc' is checked for NULL in xmlXIncludeLoadDoc, so several code
|
||
|
|
paths can be eliminated.
|
||
|
|
---
|
||
|
|
xinclude.c | 43 ++++++-------------------------------------
|
||
|
|
1 file changed, 6 insertions(+), 37 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/xinclude.c b/xinclude.c
|
||
|
|
index 2423a93..36bdfae 100644
|
||
|
|
--- a/xinclude.c
|
||
|
|
+++ b/xinclude.c
|
||
|
|
@@ -59,7 +59,6 @@ struct _xmlXIncludeRef {
|
||
|
|
xmlNodePtr inc; /* the included copy */
|
||
|
|
int xml; /* xml or txt */
|
||
|
|
int count; /* how many refs use that specific doc */
|
||
|
|
- xmlXPathObjectPtr xptr; /* the xpointer if needed */
|
||
|
|
int skip; /* skip in case of errors */
|
||
|
|
int fallback; /* fallback was loaded */
|
||
|
|
};
|
||
|
|
@@ -211,8 +210,6 @@ xmlXIncludeFreeRef(xmlXIncludeRefPtr ref) {
|
||
|
|
xmlFree(ref->URI);
|
||
|
|
if (ref->fragment != NULL)
|
||
|
|
xmlFree(ref->fragment);
|
||
|
|
- if (ref->xptr != NULL)
|
||
|
|
- xmlXPathFreeObject(ref->xptr);
|
||
|
|
xmlFree(ref);
|
||
|
|
}
|
||
|
|
|
||
|
|
@@ -1557,15 +1554,8 @@ loaded:
|
||
|
|
/*
|
||
|
|
* Add the top children list as the replacement copy.
|
||
|
|
*/
|
||
|
|
- if (doc == NULL)
|
||
|
|
- {
|
||
|
|
- /* Hopefully a DTD declaration won't be copied from
|
||
|
|
- * the same document */
|
||
|
|
- ctxt->incTab[nr]->inc = xmlCopyNodeList(ctxt->doc->children);
|
||
|
|
- } else {
|
||
|
|
- ctxt->incTab[nr]->inc = xmlXIncludeCopyNodeList(ctxt, ctxt->doc,
|
||
|
|
- doc, doc->children);
|
||
|
|
- }
|
||
|
|
+ ctxt->incTab[nr]->inc = xmlXIncludeCopyNodeList(ctxt, ctxt->doc,
|
||
|
|
+ doc, doc->children);
|
||
|
|
}
|
||
|
|
#ifdef LIBXML_XPTR_ENABLED
|
||
|
|
else {
|
||
|
|
@@ -1577,12 +1567,7 @@ loaded:
|
||
|
|
xmlXPathContextPtr xptrctxt;
|
||
|
|
xmlNodeSetPtr set;
|
||
|
|
|
||
|
|
- if (doc == NULL) {
|
||
|
|
- xptrctxt = xmlXPtrNewContext(ctxt->doc, ctxt->incTab[nr]->ref,
|
||
|
|
- NULL);
|
||
|
|
- } else {
|
||
|
|
- xptrctxt = xmlXPtrNewContext(doc, NULL, NULL);
|
||
|
|
- }
|
||
|
|
+ xptrctxt = xmlXPtrNewContext(doc, NULL, NULL);
|
||
|
|
if (xptrctxt == NULL) {
|
||
|
|
xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
|
||
|
|
XML_XINCLUDE_XPTR_FAILED,
|
||
|
|
@@ -1686,14 +1671,9 @@ loaded:
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
- if (doc == NULL) {
|
||
|
|
- ctxt->incTab[nr]->xptr = xptr;
|
||
|
|
- ctxt->incTab[nr]->inc = NULL;
|
||
|
|
- } else {
|
||
|
|
- ctxt->incTab[nr]->inc =
|
||
|
|
- xmlXIncludeCopyXPointer(ctxt, ctxt->doc, doc, xptr);
|
||
|
|
- xmlXPathFreeObject(xptr);
|
||
|
|
- }
|
||
|
|
+ ctxt->incTab[nr]->inc =
|
||
|
|
+ xmlXIncludeCopyXPointer(ctxt, ctxt->doc, doc, xptr);
|
||
|
|
+ xmlXPathFreeObject(xptr);
|
||
|
|
xmlXPathFreeContext(xptrctxt);
|
||
|
|
xmlFree(fragment);
|
||
|
|
}
|
||
|
|
@@ -2212,17 +2192,6 @@ xmlXIncludeIncludeNode(xmlXIncludeCtxtPtr ctxt, int nr) {
|
||
|
|
if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
|
||
|
|
return(-1);
|
||
|
|
|
||
|
|
- /*
|
||
|
|
- * If we stored an XPointer a late computation may be needed
|
||
|
|
- */
|
||
|
|
- if ((ctxt->incTab[nr]->inc == NULL) &&
|
||
|
|
- (ctxt->incTab[nr]->xptr != NULL)) {
|
||
|
|
- ctxt->incTab[nr]->inc =
|
||
|
|
- xmlXIncludeCopyXPointer(ctxt, ctxt->doc, ctxt->doc,
|
||
|
|
- ctxt->incTab[nr]->xptr);
|
||
|
|
- xmlXPathFreeObject(ctxt->incTab[nr]->xptr);
|
||
|
|
- ctxt->incTab[nr]->xptr = NULL;
|
||
|
|
- }
|
||
|
|
list = ctxt->incTab[nr]->inc;
|
||
|
|
ctxt->incTab[nr]->inc = NULL;
|
||
|
|
|
||
|
|
--
|
||
|
|
1.8.3.1
|
||
|
|
|