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

Function xmlTextReaderFreeProp

ThirdParty/libxml2/vtklibxml2/xmlreader.c:249–286  ·  view source on GitHub ↗

* xmlTextReaderFreeProp: * @reader: the xmlTextReaderPtr used * @cur: the node * * Free a node. */

Source from the content-addressed store, hash-verified

247 * Free a node.
248 */
249static void
250xmlTextReaderFreeProp(xmlTextReaderPtr reader, xmlAttrPtr cur) {
251 xmlDictPtr dict;
252
253 if ((reader != NULL) && (reader->ctxt != NULL))
254 dict = reader->ctxt->dict;
255 else
256 dict = NULL;
257 if (cur == NULL) return;
258
259 if ((__xmlRegisterCallbacks) && (xmlDeregisterNodeDefaultValue))
260 xmlDeregisterNodeDefaultValue((xmlNodePtr) cur);
261
262 if (cur->children != NULL)
263 xmlTextReaderFreeNodeList(reader, cur->children);
264
265 if (cur->id != NULL) {
266 /*
267 * Operating in streaming mode, attr is gonna disappear
268 */
269 cur->id->attr = NULL;
270 if (cur->id->name != NULL)
271 DICT_FREE(cur->id->name);
272 cur->id->name = cur->name;
273 cur->name = NULL;
274 } else {
275 DICT_FREE(cur->name);
276 }
277
278 if ((reader != NULL) && (reader->ctxt != NULL) &&
279 (reader->ctxt->freeAttrsNr < MAX_FREE_NODES)) {
280 cur->next = reader->ctxt->freeAttrs;
281 reader->ctxt->freeAttrs = cur;
282 reader->ctxt->freeAttrsNr++;
283 } else {
284 xmlFree(cur);
285 }
286}
287
288/**
289 * xmlTextReaderFreePropList:

Callers 2

xmlTextReaderFreeNodeFunction · 0.85

Calls 1

Tested by

no test coverage detected