summaryrefslogtreecommitdiff
path: root/xinclude.c
diff options
context:
space:
mode:
Diffstat (limited to 'xinclude.c')
-rw-r--r--xinclude.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/xinclude.c b/xinclude.c
index 09c1eef4..949c768a 100644
--- a/xinclude.c
+++ b/xinclude.c
@@ -264,19 +264,9 @@ xmlXIncludeNewRef(xmlXIncludeCtxtPtr ctxt, const xmlChar *URI,
ret->elem = elem;
ret->xml = 0;
ret->inc = NULL;
- if (ctxt->incMax == 0) {
- ctxt->incMax = 4;
- ctxt->incTab = (xmlXIncludeRefPtr *) xmlMalloc(ctxt->incMax *
- sizeof(ctxt->incTab[0]));
- if (ctxt->incTab == NULL) {
- xmlXIncludeErrMemory(ctxt, elem, "growing XInclude context");
- xmlXIncludeFreeRef(ret);
- return(NULL);
- }
- }
if (ctxt->incNr >= ctxt->incMax) {
xmlXIncludeRefPtr *tmp;
- size_t newSize = ctxt->incMax * 2;
+ size_t newSize = ctxt->incMax ? ctxt->incMax * 2 : 4;
tmp = (xmlXIncludeRefPtr *) xmlRealloc(ctxt->incTab,
newSize * sizeof(ctxt->incTab[0]));
@@ -286,7 +276,7 @@ xmlXIncludeNewRef(xmlXIncludeCtxtPtr ctxt, const xmlChar *URI,
return(NULL);
}
ctxt->incTab = tmp;
- ctxt->incMax *= 2;
+ ctxt->incMax = newSize;
}
ctxt->incTab[ctxt->incNr++] = ret;
return(ret);