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

Function xmlParseEncodingDecl

ThirdParty/libxml2/vtklibxml2/parser.c:10262–10306  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10260 */
10261
10262const xmlChar *
10263xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) {
10264 xmlChar *encoding = NULL;
10265
10266 SKIP_BLANKS;
10267 if (CMP8(CUR_PTR, 'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g') == 0)
10268 return(NULL);
10269
10270 SKIP(8);
10271 SKIP_BLANKS;
10272 if (RAW != '=') {
10273 xmlFatalErr(ctxt, XML_ERR_EQUAL_REQUIRED, NULL);
10274 return(NULL);
10275 }
10276 NEXT;
10277 SKIP_BLANKS;
10278 if (RAW == '"') {
10279 NEXT;
10280 encoding = xmlParseEncName(ctxt);
10281 if (RAW != '"') {
10282 xmlFatalErr(ctxt, XML_ERR_STRING_NOT_CLOSED, NULL);
10283 xmlFree((xmlChar *) encoding);
10284 return(NULL);
10285 } else
10286 NEXT;
10287 } else if (RAW == '\''){
10288 NEXT;
10289 encoding = xmlParseEncName(ctxt);
10290 if (RAW != '\'') {
10291 xmlFatalErr(ctxt, XML_ERR_STRING_NOT_CLOSED, NULL);
10292 xmlFree((xmlChar *) encoding);
10293 return(NULL);
10294 } else
10295 NEXT;
10296 } else {
10297 xmlFatalErr(ctxt, XML_ERR_STRING_NOT_STARTED, NULL);
10298 }
10299
10300 if (encoding == NULL)
10301 return(NULL);
10302
10303 xmlSetDeclaredEncoding(ctxt, encoding);
10304
10305 return(ctxt->encoding);
10306}
10307
10308/**
10309 * xmlParseSDDecl:

Callers 2

xmlParseTextDeclFunction · 0.85
xmlParseXMLDeclFunction · 0.85

Calls 3

xmlFatalErrFunction · 0.85
xmlParseEncNameFunction · 0.85
xmlSetDeclaredEncodingFunction · 0.85

Tested by

no test coverage detected