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

Function xmlTextReaderClose

ThirdParty/libxml2/vtklibxml2/xmlreader.c:2261–2297  ·  view source on GitHub ↗

* xmlTextReaderClose: * @reader: the xmlTextReaderPtr used * * This method releases any resources allocated by the current instance * changes the state to Closed and close any underlying input. * * Returns 0 or -1 in case of error */

Source from the content-addressed store, hash-verified

2259 * Returns 0 or -1 in case of error
2260 */
2261int
2262xmlTextReaderClose(xmlTextReaderPtr reader) {
2263 if (reader == NULL)
2264 return(-1);
2265 reader->node = NULL;
2266 reader->curnode = NULL;
2267 reader->mode = XML_TEXTREADER_MODE_CLOSED;
2268 if (reader->faketext != NULL) {
2269 xmlFreeNode(reader->faketext);
2270 reader->faketext = NULL;
2271 }
2272 if (reader->ctxt != NULL) {
2273#ifdef LIBXML_VALID_ENABLED
2274 if ((reader->ctxt->vctxt.vstateTab != NULL) &&
2275 (reader->ctxt->vctxt.vstateMax > 0)){
2276#ifdef LIBXML_REGEXP_ENABLED
2277 while (reader->ctxt->vctxt.vstateNr > 0)
2278 xmlValidatePopElement(&reader->ctxt->vctxt, NULL, NULL, NULL);
2279#endif /* LIBXML_REGEXP_ENABLED */
2280 xmlFree(reader->ctxt->vctxt.vstateTab);
2281 reader->ctxt->vctxt.vstateTab = NULL;
2282 reader->ctxt->vctxt.vstateMax = 0;
2283 }
2284#endif /* LIBXML_VALID_ENABLED */
2285 xmlStopParser(reader->ctxt);
2286 if (reader->ctxt->myDoc != NULL) {
2287 if (reader->preserve == 0)
2288 xmlTextReaderFreeDoc(reader, reader->ctxt->myDoc);
2289 reader->ctxt->myDoc = NULL;
2290 }
2291 }
2292 if ((reader->input != NULL) && (reader->allocs & XML_TEXTREADER_INPUT)) {
2293 xmlFreeParserInputBuffer(reader->input);
2294 reader->allocs -= XML_TEXTREADER_INPUT;
2295 }
2296 return(0);
2297}
2298
2299/**
2300 * xmlTextReaderGetAttributeNo:

Callers 1

xmlFreeTextReaderFunction · 0.85

Calls 5

xmlFreeNodeFunction · 0.85
xmlValidatePopElementFunction · 0.85
xmlStopParserFunction · 0.85
xmlTextReaderFreeDocFunction · 0.85
xmlFreeParserInputBufferFunction · 0.85

Tested by

no test coverage detected