| 4820 | #endif /* XML_DTD */ |
| 4821 | |
| 4822 | static enum XML_Error |
| 4823 | initializeEncoding(XML_Parser parser) { |
| 4824 | const char *s; |
| 4825 | #ifdef XML_UNICODE |
| 4826 | char encodingBuf[128]; |
| 4827 | /* See comments about `protocolEncodingName` in parserInit() */ |
| 4828 | if (! parser->m_protocolEncodingName) |
| 4829 | s = NULL; |
| 4830 | else { |
| 4831 | int i; |
| 4832 | for (i = 0; parser->m_protocolEncodingName[i]; i++) { |
| 4833 | if (i == sizeof(encodingBuf) - 1 |
| 4834 | || (parser->m_protocolEncodingName[i] & ~0x7f) != 0) { |
| 4835 | encodingBuf[0] = '\0'; |
| 4836 | break; |
| 4837 | } |
| 4838 | encodingBuf[i] = (char)parser->m_protocolEncodingName[i]; |
| 4839 | } |
| 4840 | encodingBuf[i] = '\0'; |
| 4841 | s = encodingBuf; |
| 4842 | } |
| 4843 | #else |
| 4844 | s = parser->m_protocolEncodingName; |
| 4845 | #endif |
| 4846 | if ((parser->m_ns ? XmlInitEncodingNS : XmlInitEncoding)( |
| 4847 | &parser->m_initEncoding, &parser->m_encoding, s)) |
| 4848 | return XML_ERROR_NONE; |
| 4849 | return handleUnknownEncoding(parser, parser->m_protocolEncodingName); |
| 4850 | } |
| 4851 | |
| 4852 | static enum XML_Error |
| 4853 | processXmlDecl(XML_Parser parser, int isGeneralTextEntity, const char *s, |
no test coverage detected
searching dependent graphs…