MCPcopy Create free account
hub / github.com/Kitware/VTK / xmlC14NVisibleNsStackAdd

Function xmlC14NVisibleNsStackAdd

ThirdParty/libxml2/vtklibxml2/c14n.c:302–340  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

300}
301
302static int
303xmlC14NVisibleNsStackAdd(xmlC14NVisibleNsStackPtr cur, xmlNsPtr ns, xmlNodePtr node) {
304 if((cur == NULL) ||
305 ((cur->nsTab == NULL) && (cur->nodeTab != NULL)) ||
306 ((cur->nsTab != NULL) && (cur->nodeTab == NULL)))
307 return (1);
308
309 if ((cur->nsTab == NULL) && (cur->nodeTab == NULL)) {
310 cur->nsTab = (xmlNsPtr*) xmlMalloc(XML_NAMESPACES_DEFAULT * sizeof(xmlNsPtr));
311 cur->nodeTab = (xmlNodePtr*) xmlMalloc(XML_NAMESPACES_DEFAULT * sizeof(xmlNodePtr));
312 if ((cur->nsTab == NULL) || (cur->nodeTab == NULL))
313 return (-1);
314 memset(cur->nsTab, 0 , XML_NAMESPACES_DEFAULT * sizeof(xmlNsPtr));
315 memset(cur->nodeTab, 0 , XML_NAMESPACES_DEFAULT * sizeof(xmlNodePtr));
316 cur->nsMax = XML_NAMESPACES_DEFAULT;
317 } else if(cur->nsMax == cur->nsCurEnd) {
318 void *tmp;
319 int tmpSize;
320
321 tmpSize = 2 * cur->nsMax;
322 tmp = xmlRealloc(cur->nsTab, tmpSize * sizeof(xmlNsPtr));
323 if (tmp == NULL)
324 return (-1);
325 cur->nsTab = (xmlNsPtr*)tmp;
326
327 tmp = xmlRealloc(cur->nodeTab, tmpSize * sizeof(xmlNodePtr));
328 if (tmp == NULL)
329 return (-1);
330 cur->nodeTab = (xmlNodePtr*)tmp;
331
332 cur->nsMax = tmpSize;
333 }
334 cur->nsTab[cur->nsCurEnd] = ns;
335 cur->nodeTab[cur->nsCurEnd] = node;
336
337 ++cur->nsCurEnd;
338
339 return (0);
340}
341
342static void
343xmlC14NVisibleNsStackSave(xmlC14NVisibleNsStackPtr cur, xmlC14NVisibleNsStackPtr state) {

Callers 2

Calls

no outgoing calls

Tested by

no test coverage detected