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

Function xmlTextReaderPreservePattern

ThirdParty/libxml2/vtklibxml2/xmlreader.c:4003–4040  ·  view source on GitHub ↗

* xmlTextReaderPreservePattern: * @reader: the xmlTextReaderPtr used * @pattern: an XPath subset pattern * @namespaces: the prefix definitions, array of [URI, prefix] or NULL * * This tells the XML Reader to preserve all nodes matched by the * pattern. The caller must also use xmlTextReaderCurrentDoc() to * keep an handle on the resulting document once parsing has finished * * Returns a

Source from the content-addressed store, hash-verified

4001 * Returns a non-negative number in case of success and -1 in case of error
4002 */
4003int
4004xmlTextReaderPreservePattern(xmlTextReaderPtr reader, const xmlChar *pattern,
4005 const xmlChar **namespaces)
4006{
4007 xmlPatternPtr comp;
4008
4009 if ((reader == NULL) || (pattern == NULL))
4010 return(-1);
4011
4012 comp = xmlPatterncompile(pattern, reader->dict, 0, namespaces);
4013 if (comp == NULL)
4014 return(-1);
4015
4016 if (reader->patternMax <= 0) {
4017 reader->patternMax = 4;
4018 reader->patternTab = (xmlPatternPtr *) xmlMalloc(reader->patternMax *
4019 sizeof(reader->patternTab[0]));
4020 if (reader->patternTab == NULL) {
4021 xmlTextReaderErrMemory(reader);
4022 return (-1);
4023 }
4024 }
4025 if (reader->patternNr >= reader->patternMax) {
4026 xmlPatternPtr *tmp;
4027 reader->patternMax *= 2;
4028 tmp = (xmlPatternPtr *) xmlRealloc(reader->patternTab,
4029 reader->patternMax *
4030 sizeof(reader->patternTab[0]));
4031 if (tmp == NULL) {
4032 xmlTextReaderErrMemory(reader);
4033 reader->patternMax /= 2;
4034 return (-1);
4035 }
4036 reader->patternTab = tmp;
4037 }
4038 reader->patternTab[reader->patternNr] = comp;
4039 return(reader->patternNr++);
4040}
4041#endif
4042
4043/**

Callers

nothing calls this directly

Calls 2

xmlPatterncompileFunction · 0.85
xmlTextReaderErrMemoryFunction · 0.85

Tested by

no test coverage detected