зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1374012 - Update to Expat 2.2.1. Part 4: removing mainlined customisations and merge whitespace changes. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D14443 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
650f9e44c2
Коммит
cc52d0e9e6
|
@ -706,6 +706,7 @@ XML_UseParserAsHandlerArg(XML_Parser parser);
|
|||
be called, despite an external subset being parsed.
|
||||
Note: If XML_DTD is not defined when Expat is compiled, returns
|
||||
XML_ERROR_FEATURE_REQUIRES_XML_DTD.
|
||||
Note: If parser == NULL, returns XML_ERROR_INVALID_ARGUMENT.
|
||||
*/
|
||||
XMLPARSEAPI(enum XML_Error)
|
||||
XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD);
|
||||
|
@ -729,15 +730,16 @@ XML_GetBase(XML_Parser parser);
|
|||
to the XML_StartElementHandler that were specified in the start-tag
|
||||
rather than defaulted. Each attribute/value pair counts as 2; thus
|
||||
this correspondds to an index into the atts array passed to the
|
||||
XML_StartElementHandler.
|
||||
XML_StartElementHandler. Returns -1 if parser == NULL.
|
||||
*/
|
||||
XMLPARSEAPI(int)
|
||||
XML_GetSpecifiedAttributeCount(XML_Parser parser);
|
||||
|
||||
/* Returns the index of the ID attribute passed in the last call to
|
||||
XML_StartElementHandler, or -1 if there is no ID attribute. Each
|
||||
attribute/value pair counts as 2; thus this correspondds to an
|
||||
index into the atts array passed to the XML_StartElementHandler.
|
||||
XML_StartElementHandler, or -1 if there is no ID attribute or
|
||||
parser == NULL. Each attribute/value pair counts as 2; thus this
|
||||
correspondds to an index into the atts array passed to the
|
||||
XML_StartElementHandler.
|
||||
*/
|
||||
XMLPARSEAPI(int)
|
||||
XML_GetIdAttributeIndex(XML_Parser parser);
|
||||
|
@ -878,6 +880,7 @@ enum XML_ParamEntityParsing {
|
|||
entities is requested; otherwise it will return non-zero.
|
||||
Note: If XML_SetParamEntityParsing is called after XML_Parse or
|
||||
XML_ParseBuffer, then it has no effect and will always return 0.
|
||||
Note: If parser == NULL, the function will do nothing and return 0.
|
||||
*/
|
||||
XMLPARSEAPI(int)
|
||||
XML_SetParamEntityParsing(XML_Parser parser,
|
||||
|
@ -914,6 +917,10 @@ XML_GetErrorCode(XML_Parser parser);
|
|||
the location is the location of the character at which the error
|
||||
was detected; otherwise the location is the location of the last
|
||||
parse event, as described above.
|
||||
|
||||
Note: XML_GetCurrentLineNumber and XML_GetCurrentColumnNumber
|
||||
return 0 to indicate an error.
|
||||
Note: XML_GetCurrentByteIndex returns -1 to indicate an error.
|
||||
*/
|
||||
XMLPARSEAPI(XML_Size) XML_GetCurrentLineNumber(XML_Parser parser);
|
||||
XMLPARSEAPI(XML_Size) XML_GetCurrentColumnNumber(XML_Parser parser);
|
||||
|
@ -1007,10 +1014,8 @@ XMLPARSEAPI(const XML_Feature *)
|
|||
XML_GetFeatureList(void);
|
||||
|
||||
|
||||
/* Expat follows the GNU/Linux convention of odd number minor version for
|
||||
beta/development releases and even number minor version for stable
|
||||
releases. Micro is bumped with each release, and set to 0 with each
|
||||
change to major or minor version.
|
||||
/* Expat follows the semantic versioning convention.
|
||||
See http://semver.org.
|
||||
*/
|
||||
#define XML_MAJOR_VERSION 2
|
||||
#define XML_MINOR_VERSION 0
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
inline - Used for selected internal functions for which inlining
|
||||
may improve performance on some platforms.
|
||||
|
||||
Note: Use of these macros is based on judgment, not hard rules,
|
||||
Note: Use of these macros is based on judgement, not hard rules,
|
||||
and therefore subject to change.
|
||||
*/
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
|
||||
See the file COPYING for copying permission.
|
||||
|
||||
77fea421d361dca90041d0040ecf1dca651167fadf2af79e990e35168d70d933 (2.2.1+)
|
||||
*/
|
||||
|
||||
#define _GNU_SOURCE /* syscall prototype */
|
||||
|
@ -40,7 +42,6 @@
|
|||
#define XmlGetInternalEncoding XmlGetUtf16InternalEncoding
|
||||
#define XmlGetInternalEncodingNS XmlGetUtf16InternalEncodingNS
|
||||
#define XmlEncode XmlUtf16Encode
|
||||
|
||||
/* Using pointer subtraction to convert to integer type. */
|
||||
#define MUST_CONVERT(enc, s) (!(enc)->isUtf16 || (((char *)(s) - (char *)NULL) & 1))
|
||||
typedef unsigned short ICHAR;
|
||||
|
@ -341,15 +342,15 @@ processXmlDecl(XML_Parser parser, int isGeneralTextEntity,
|
|||
static enum XML_Error
|
||||
initializeEncoding(XML_Parser parser);
|
||||
static enum XML_Error
|
||||
doProlog(XML_Parser parser, const ENCODING *enc, const char *s,
|
||||
const char *end, int tok, const char *next, const char **nextPtr,
|
||||
doProlog(XML_Parser parser, const ENCODING *enc, const char *s,
|
||||
const char *end, int tok, const char *next, const char **nextPtr,
|
||||
XML_Bool haveMore);
|
||||
static enum XML_Error
|
||||
processInternalEntity(XML_Parser parser, ENTITY *entity,
|
||||
processInternalEntity(XML_Parser parser, ENTITY *entity,
|
||||
XML_Bool betweenDecl);
|
||||
static enum XML_Error
|
||||
doContent(XML_Parser parser, int startTagLevel, const ENCODING *enc,
|
||||
const char *start, const char *end, const char **endPtr,
|
||||
const char *start, const char *end, const char **endPtr,
|
||||
XML_Bool haveMore);
|
||||
static enum XML_Error
|
||||
doCdataSection(XML_Parser parser, const ENCODING *, const char **startPtr,
|
||||
|
@ -367,7 +368,7 @@ static enum XML_Error
|
|||
addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId,
|
||||
const XML_Char *uri, BINDING **bindingsPtr);
|
||||
static int
|
||||
defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *, XML_Bool isCdata,
|
||||
defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *, XML_Bool isCdata,
|
||||
XML_Bool isId, const XML_Char *dfltValue, XML_Parser parser);
|
||||
static enum XML_Error
|
||||
storeAttributeValue(XML_Parser parser, const ENCODING *, XML_Bool isCdata,
|
||||
|
@ -456,6 +457,7 @@ parserCreate(const XML_Char *encodingName,
|
|||
const XML_Memory_Handling_Suite *memsuite,
|
||||
const XML_Char *nameSep,
|
||||
DTD *dtd);
|
||||
|
||||
static void
|
||||
parserInit(XML_Parser parser, const XML_Char *encodingName);
|
||||
|
||||
|
@ -1717,7 +1719,7 @@ XML_Parse(XML_Parser parser, const char *s, int len, int isFinal)
|
|||
XmlUpdatePosition(encoding, positionPtr, bufferPtr, &position);
|
||||
positionPtr = bufferPtr;
|
||||
return XML_STATUS_SUSPENDED;
|
||||
case XML_INITIALIZED:
|
||||
case XML_INITIALIZED:
|
||||
case XML_PARSING:
|
||||
ps_parsing = XML_FINISHED;
|
||||
/* fall through */
|
||||
|
@ -1733,9 +1735,7 @@ XML_Parse(XML_Parser parser, const char *s, int len, int isFinal)
|
|||
else if (bufferPtr == bufferEnd) {
|
||||
const char *end;
|
||||
int nLeftOver;
|
||||
/* BEGIN MOZILLA CHANGE (|result| has type XML_Status, not XML_Error) */
|
||||
enum XML_Status result;
|
||||
/* END MOZILLA CHANGE */
|
||||
/* Detect overflow (a+b > MAX <==> b > MAX-a) */
|
||||
/* BEGIN MOZILLA CHANGE (len is signed, trying to compare it to an unsigned value) */
|
||||
#if 0
|
||||
|
@ -1767,14 +1767,6 @@ XML_Parse(XML_Parser parser, const char *s, int len, int isFinal)
|
|||
break;
|
||||
case XML_INITIALIZED:
|
||||
case XML_PARSING:
|
||||
/* BEGIN MOZILLA CHANGE (always initialize result) */
|
||||
#if 0
|
||||
result = XML_STATUS_OK;
|
||||
if (isFinal) {
|
||||
ps_parsing = XML_FINISHED;
|
||||
return result;
|
||||
}
|
||||
#else
|
||||
if (isFinal) {
|
||||
ps_parsing = XML_FINISHED;
|
||||
return XML_STATUS_OK;
|
||||
|
@ -1782,8 +1774,6 @@ XML_Parse(XML_Parser parser, const char *s, int len, int isFinal)
|
|||
/* fall through */
|
||||
default:
|
||||
result = XML_STATUS_OK;
|
||||
#endif
|
||||
/* END MOZILLA CHANGE */
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1871,7 +1861,7 @@ XML_ParseBuffer(XML_Parser parser, int len, int isFinal)
|
|||
case XML_SUSPENDED:
|
||||
result = XML_STATUS_SUSPENDED;
|
||||
break;
|
||||
case XML_INITIALIZED:
|
||||
case XML_INITIALIZED:
|
||||
case XML_PARSING:
|
||||
if (isFinal) {
|
||||
ps_parsing = XML_FINISHED;
|
||||
|
@ -1889,12 +1879,10 @@ XML_ParseBuffer(XML_Parser parser, int len, int isFinal)
|
|||
void * XMLCALL
|
||||
XML_GetBuffer(XML_Parser parser, int len)
|
||||
{
|
||||
/* BEGIN MOZILLA CHANGE (sanity check len) */
|
||||
if (len < 0) {
|
||||
errorCode = XML_ERROR_NO_MEMORY;
|
||||
return NULL;
|
||||
}
|
||||
/* END MOZILLA CHANGE */
|
||||
switch (ps_parsing) {
|
||||
case XML_SUSPENDED:
|
||||
errorCode = XML_ERROR_SUSPENDED;
|
||||
|
@ -1908,12 +1896,10 @@ XML_GetBuffer(XML_Parser parser, int len)
|
|||
if (len > bufferLim - bufferEnd) {
|
||||
/* Do not invoke signed arithmetic overflow: */
|
||||
int neededSize = (int) ((unsigned)len + (unsigned)(bufferEnd - bufferPtr));
|
||||
/* BEGIN MOZILLA CHANGE (sanity check neededSize) */
|
||||
if (neededSize < 0) {
|
||||
errorCode = XML_ERROR_NO_MEMORY;
|
||||
return NULL;
|
||||
}
|
||||
/* END MOZILLA CHANGE */
|
||||
#ifdef XML_CONTEXT_BYTES
|
||||
int keep = (int)(bufferPtr - buffer);
|
||||
|
||||
|
@ -1943,15 +1929,11 @@ XML_GetBuffer(XML_Parser parser, int len)
|
|||
do {
|
||||
/* Do not invoke signed arithmetic overflow: */
|
||||
bufferSize = (int) (2U * (unsigned) bufferSize);
|
||||
/* BEGIN MOZILLA CHANGE (prevent infinite loop on overflow) */
|
||||
} while (bufferSize < neededSize && bufferSize > 0);
|
||||
/* END MOZILLA CHANGE */
|
||||
/* BEGIN MOZILLA CHANGE (sanity check bufferSize) */
|
||||
if (bufferSize <= 0) {
|
||||
errorCode = XML_ERROR_NO_MEMORY;
|
||||
return NULL;
|
||||
}
|
||||
/* END MOZILLA CHANGE */
|
||||
newBuf = (char *)MALLOC(bufferSize);
|
||||
if (newBuf == 0) {
|
||||
errorCode = XML_ERROR_NO_MEMORY;
|
||||
|
@ -2039,7 +2021,7 @@ XML_ResumeParser(XML_Parser parser)
|
|||
case XML_SUSPENDED:
|
||||
result = XML_STATUS_SUSPENDED;
|
||||
break;
|
||||
case XML_INITIALIZED:
|
||||
case XML_INITIALIZED:
|
||||
case XML_PARSING:
|
||||
if (ps_finalBuffer) {
|
||||
ps_parsing = XML_FINISHED;
|
||||
|
@ -2301,7 +2283,7 @@ contentProcessor(XML_Parser parser,
|
|||
const char *end,
|
||||
const char **endPtr)
|
||||
{
|
||||
enum XML_Error result = doContent(parser, 0, encoding, start, end,
|
||||
enum XML_Error result = doContent(parser, 0, encoding, start, end,
|
||||
endPtr, (XML_Bool)!ps_finalBuffer);
|
||||
if (result == XML_ERROR_NONE) {
|
||||
if (!storeRawNames(parser))
|
||||
|
@ -2383,7 +2365,7 @@ externalEntityInitProcessor3(XML_Parser parser,
|
|||
if (result != XML_ERROR_NONE)
|
||||
return result;
|
||||
switch (ps_parsing) {
|
||||
case XML_SUSPENDED:
|
||||
case XML_SUSPENDED:
|
||||
*endPtr = next;
|
||||
return XML_ERROR_NONE;
|
||||
case XML_FINISHED:
|
||||
|
@ -2417,7 +2399,7 @@ externalEntityContentProcessor(XML_Parser parser,
|
|||
const char *end,
|
||||
const char **endPtr)
|
||||
{
|
||||
enum XML_Error result = doContent(parser, 1, encoding, start, end,
|
||||
enum XML_Error result = doContent(parser, 1, encoding, start, end,
|
||||
endPtr, (XML_Bool)!ps_finalBuffer);
|
||||
if (result == XML_ERROR_NONE) {
|
||||
if (!storeRawNames(parser))
|
||||
|
@ -2436,7 +2418,7 @@ doContent(XML_Parser parser,
|
|||
XML_Bool haveMore)
|
||||
{
|
||||
/* save one level of indirection */
|
||||
DTD * const dtd = _dtd;
|
||||
DTD * const dtd = _dtd;
|
||||
|
||||
const char **eventPP;
|
||||
const char **eventEndPP;
|
||||
|
@ -2467,8 +2449,8 @@ doContent(XML_Parser parser,
|
|||
}
|
||||
else if (defaultHandler)
|
||||
reportDefault(parser, enc, s, end);
|
||||
/* We are at the end of the final buffer, should we check for
|
||||
XML_SUSPENDED, XML_FINISHED?
|
||||
/* We are at the end of the final buffer, should we check for
|
||||
XML_SUSPENDED, XML_FINISHED?
|
||||
*/
|
||||
if (startTagLevel == 0)
|
||||
return XML_ERROR_NO_ELEMENTS;
|
||||
|
@ -2848,8 +2830,8 @@ doContent(XML_Parser parser,
|
|||
}
|
||||
else if (defaultHandler)
|
||||
reportDefault(parser, enc, s, end);
|
||||
/* We are at the end of the final buffer, should we check for
|
||||
XML_SUSPENDED, XML_FINISHED?
|
||||
/* We are at the end of the final buffer, should we check for
|
||||
XML_SUSPENDED, XML_FINISHED?
|
||||
*/
|
||||
if (startTagLevel == 0) {
|
||||
*eventPP = end;
|
||||
|
@ -2898,7 +2880,7 @@ doContent(XML_Parser parser,
|
|||
}
|
||||
*eventPP = s = next;
|
||||
switch (ps_parsing) {
|
||||
case XML_SUSPENDED:
|
||||
case XML_SUSPENDED:
|
||||
*nextPtr = next;
|
||||
return XML_ERROR_NONE;
|
||||
case XML_FINISHED:
|
||||
|
@ -3154,7 +3136,6 @@ storeAtts(XML_Parser parser, const ENCODING *enc,
|
|||
if (!b)
|
||||
return XML_ERROR_UNBOUND_PREFIX;
|
||||
|
||||
/* as we expand the name we also calculate its hash value */
|
||||
for (j = 0; j < b->uriLen; j++) {
|
||||
const XML_Char c = b->uri[j];
|
||||
if (!poolAppendChar(&tempPool, c))
|
||||
|
@ -3353,20 +3334,20 @@ addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId,
|
|||
'X', 'M', 'L', '/', '1', '9', '9', '8', '/',
|
||||
'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', '\0'
|
||||
};
|
||||
static const int xmlLen =
|
||||
static const int xmlLen =
|
||||
(int)sizeof(xmlNamespace)/sizeof(XML_Char) - 1;
|
||||
static const XML_Char xmlnsNamespace[] = {
|
||||
'h', 't', 't', 'p', ':', '/', '/',
|
||||
'w', 'w', 'w', '.', 'w', '3', '.', 'o', 'r', 'g', '/',
|
||||
'2', '0', '0', '0', '/', 'x', 'm', 'l', 'n', 's', '/', '\0'
|
||||
};
|
||||
static const int xmlnsLen =
|
||||
static const int xmlnsLen =
|
||||
(int)sizeof(xmlnsNamespace)/sizeof(XML_Char) - 1;
|
||||
|
||||
XML_Bool mustBeXML = XML_FALSE;
|
||||
XML_Bool isXML = XML_TRUE;
|
||||
XML_Bool isXMLNS = XML_TRUE;
|
||||
|
||||
|
||||
BINDING *b;
|
||||
int len;
|
||||
|
||||
|
@ -3393,7 +3374,7 @@ addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId,
|
|||
if (isXML && (len > xmlLen || uri[len] != xmlNamespace[len]))
|
||||
isXML = XML_FALSE;
|
||||
|
||||
if (!mustBeXML && isXMLNS
|
||||
if (!mustBeXML && isXMLNS
|
||||
&& (len > xmlnsLen || uri[len] != xmlnsNamespace[len]))
|
||||
isXMLNS = XML_FALSE;
|
||||
}
|
||||
|
@ -3601,7 +3582,7 @@ ignoreSectionProcessor(XML_Parser parser,
|
|||
const char *end,
|
||||
const char **endPtr)
|
||||
{
|
||||
enum XML_Error result = doIgnoreSection(parser, encoding, &start, end,
|
||||
enum XML_Error result = doIgnoreSection(parser, encoding, &start, end,
|
||||
endPtr, (XML_Bool)!ps_finalBuffer);
|
||||
if (result != XML_ERROR_NONE)
|
||||
return result;
|
||||
|
@ -3883,7 +3864,7 @@ entityValueInitProcessor(XML_Parser parser,
|
|||
const char *next = start;
|
||||
eventPtr = start;
|
||||
|
||||
for (;;) {
|
||||
for (;;) {
|
||||
tok = XmlPrologTok(encoding, start, end, &next);
|
||||
eventEndPtr = next;
|
||||
if (tok <= 0) {
|
||||
|
@ -3911,7 +3892,7 @@ entityValueInitProcessor(XML_Parser parser,
|
|||
if (result != XML_ERROR_NONE)
|
||||
return result;
|
||||
switch (ps_parsing) {
|
||||
case XML_SUSPENDED:
|
||||
case XML_SUSPENDED:
|
||||
*nextPtr = next;
|
||||
return XML_ERROR_NONE;
|
||||
case XML_FINISHED:
|
||||
|
@ -3984,7 +3965,7 @@ externalParEntProcessor(XML_Parser parser,
|
|||
}
|
||||
|
||||
processor = prologProcessor;
|
||||
return doProlog(parser, encoding, s, end, tok, next,
|
||||
return doProlog(parser, encoding, s, end, tok, next,
|
||||
nextPtr, (XML_Bool)!ps_finalBuffer);
|
||||
}
|
||||
|
||||
|
@ -4034,7 +4015,7 @@ prologProcessor(XML_Parser parser,
|
|||
{
|
||||
const char *next = s;
|
||||
int tok = XmlPrologTok(encoding, s, end, &next);
|
||||
return doProlog(parser, encoding, s, end, tok, next,
|
||||
return doProlog(parser, encoding, s, end, tok, next,
|
||||
nextPtr, (XML_Bool)!ps_finalBuffer);
|
||||
}
|
||||
|
||||
|
@ -4068,7 +4049,7 @@ doProlog(XML_Parser parser,
|
|||
static const XML_Char enumValueStart[] = { '(', '\0' };
|
||||
|
||||
/* save one level of indirection */
|
||||
DTD * const dtd = _dtd;
|
||||
DTD * const dtd = _dtd;
|
||||
|
||||
const char **eventPP;
|
||||
const char **eventEndPP;
|
||||
|
@ -4244,8 +4225,8 @@ doProlog(XML_Parser parser,
|
|||
entity->publicId))
|
||||
return XML_ERROR_EXTERNAL_ENTITY_HANDLING;
|
||||
if (dtd->paramEntityRead) {
|
||||
if (!dtd->standalone &&
|
||||
notStandaloneHandler &&
|
||||
if (!dtd->standalone &&
|
||||
notStandaloneHandler &&
|
||||
!notStandaloneHandler(handlerArg))
|
||||
return XML_ERROR_NOT_STANDALONE;
|
||||
}
|
||||
|
@ -4684,7 +4665,7 @@ doProlog(XML_Parser parser,
|
|||
switch (tok) {
|
||||
case XML_TOK_PARAM_ENTITY_REF:
|
||||
/* PE references in internal subset are
|
||||
not allowed within declarations. */
|
||||
not allowed within declarations. */
|
||||
return XML_ERROR_PARAM_ENTITY_REF;
|
||||
case XML_TOK_XML_DECL:
|
||||
return XML_ERROR_MISPLACED_XML_PI;
|
||||
|
@ -4805,7 +4786,7 @@ doProlog(XML_Parser parser,
|
|||
return XML_ERROR_RECURSIVE_ENTITY_REF;
|
||||
if (entity->textPtr) {
|
||||
enum XML_Error result;
|
||||
XML_Bool betweenDecl =
|
||||
XML_Bool betweenDecl =
|
||||
(role == XML_ROLE_PARAM_ENTITY_REF ? XML_TRUE : XML_FALSE);
|
||||
result = processInternalEntity(parser, entity, betweenDecl);
|
||||
if (result != XML_ERROR_NONE)
|
||||
|
@ -5006,7 +4987,7 @@ doProlog(XML_Parser parser,
|
|||
reportDefault(parser, enc, s, next);
|
||||
|
||||
switch (ps_parsing) {
|
||||
case XML_SUSPENDED:
|
||||
case XML_SUSPENDED:
|
||||
*nextPtr = next;
|
||||
return XML_ERROR_NONE;
|
||||
case XML_FINISHED:
|
||||
|
@ -5076,7 +5057,7 @@ epilogProcessor(XML_Parser parser,
|
|||
}
|
||||
eventPtr = s = next;
|
||||
switch (ps_parsing) {
|
||||
case XML_SUSPENDED:
|
||||
case XML_SUSPENDED:
|
||||
*nextPtr = next;
|
||||
return XML_ERROR_NONE;
|
||||
case XML_FINISHED:
|
||||
|
@ -5119,12 +5100,12 @@ processInternalEntity(XML_Parser parser, ENTITY *entity,
|
|||
#ifdef XML_DTD
|
||||
if (entity->is_param) {
|
||||
int tok = XmlPrologTok(internalEncoding, textStart, textEnd, &next);
|
||||
result = doProlog(parser, internalEncoding, textStart, textEnd, tok,
|
||||
result = doProlog(parser, internalEncoding, textStart, textEnd, tok,
|
||||
next, &next, XML_FALSE);
|
||||
}
|
||||
else
|
||||
else
|
||||
#endif /* XML_DTD */
|
||||
result = doContent(parser, tagLevel, internalEncoding, textStart,
|
||||
result = doContent(parser, tagLevel, internalEncoding, textStart,
|
||||
textEnd, &next, XML_FALSE);
|
||||
|
||||
if (result == XML_ERROR_NONE) {
|
||||
|
@ -5186,13 +5167,13 @@ internalEntityProcessor(XML_Parser parser,
|
|||
#ifdef XML_DTD
|
||||
if (entity->is_param) {
|
||||
int tok = XmlPrologTok(internalEncoding, textStart, textEnd, &next);
|
||||
result = doProlog(parser, internalEncoding, textStart, textEnd, tok,
|
||||
result = doProlog(parser, internalEncoding, textStart, textEnd, tok,
|
||||
next, &next, XML_FALSE);
|
||||
}
|
||||
else
|
||||
#endif /* XML_DTD */
|
||||
result = doContent(parser, openEntity->startTagLevel, internalEncoding,
|
||||
textStart, textEnd, &next, XML_FALSE);
|
||||
result = doContent(parser, openEntity->startTagLevel, internalEncoding,
|
||||
textStart, textEnd, &next, XML_FALSE);
|
||||
|
||||
if (result != XML_ERROR_NONE)
|
||||
return result;
|
||||
|
@ -5213,7 +5194,7 @@ internalEntityProcessor(XML_Parser parser,
|
|||
int tok;
|
||||
processor = prologProcessor;
|
||||
tok = XmlPrologTok(encoding, s, end, &next);
|
||||
return doProlog(parser, encoding, s, end, tok, next, nextPtr,
|
||||
return doProlog(parser, encoding, s, end, tok, next, nextPtr,
|
||||
(XML_Bool)!ps_finalBuffer);
|
||||
}
|
||||
else
|
||||
|
@ -5222,8 +5203,8 @@ internalEntityProcessor(XML_Parser parser,
|
|||
processor = contentProcessor;
|
||||
/* see externalEntityContentProcessor vs contentProcessor */
|
||||
return doContent(parser, parentParser ? 1 : 0, encoding, s, end,
|
||||
nextPtr, (XML_Bool)!ps_finalBuffer);
|
||||
}
|
||||
nextPtr, (XML_Bool)!ps_finalBuffer);
|
||||
}
|
||||
}
|
||||
|
||||
static enum XML_Error PTRCALL
|
||||
|
@ -5382,7 +5363,7 @@ appendAttributeValue(XML_Parser parser, const ENCODING *enc, XML_Bool isCdata,
|
|||
if (!entity->textPtr) {
|
||||
if (enc == encoding)
|
||||
eventPtr = ptr;
|
||||
return XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF;
|
||||
return XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF;
|
||||
}
|
||||
else {
|
||||
enum XML_Error result;
|
||||
|
|
|
@ -1350,7 +1350,7 @@ unknown_toUtf16(const ENCODING *enc,
|
|||
ENCODING *
|
||||
XmlInitUnknownEncoding(void *mem,
|
||||
int *table,
|
||||
CONVERTER convert,
|
||||
CONVERTER convert,
|
||||
void *userData)
|
||||
{
|
||||
int i;
|
||||
|
@ -1640,7 +1640,7 @@ initScan(const ENCODING * const *encodingTable,
|
|||
ENCODING *
|
||||
XmlInitUnknownEncodingNS(void *mem,
|
||||
int *table,
|
||||
CONVERTER convert,
|
||||
CONVERTER convert,
|
||||
void *userData)
|
||||
{
|
||||
ENCODING *enc = XmlInitUnknownEncoding(mem, table, convert, userData);
|
||||
|
|
Загрузка…
Ссылка в новой задаче