mirror of
https://github.com/reactos/reactos.git
synced 2025-06-13 16:48:32 +00:00
[LIBXML2] Update to version 2.9.10. CORE-16952
This commit is contained in:
parent
b82bf8ce16
commit
f22fa382fe
65 changed files with 2245 additions and 2056 deletions
31
sdk/lib/3rdparty/libxml2/HTMLparser.c
vendored
31
sdk/lib/3rdparty/libxml2/HTMLparser.c
vendored
|
@ -317,7 +317,7 @@ htmlNodeInfoPop(htmlParserCtxtPtr ctxt)
|
|||
|
||||
#define SKIP_BLANKS htmlSkipBlankChars(ctxt)
|
||||
|
||||
/* Inported from XML */
|
||||
/* Imported from XML */
|
||||
|
||||
/* #define CUR (ctxt->token ? ctxt->token : (int) (*ctxt->input->cur)) */
|
||||
#define CUR ((int) (*ctxt->input->cur))
|
||||
|
@ -537,7 +537,7 @@ htmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
|
|||
encoding_error:
|
||||
/*
|
||||
* If we detect an UTF8 error that probably mean that the
|
||||
* input encoding didn't get properly advertized in the
|
||||
* input encoding didn't get properly advertised in the
|
||||
* declaration header. Report the error and switch the encoding
|
||||
* to ISO-Latin-1 (if you don't like this policy, just declare the
|
||||
* encoding !)
|
||||
|
@ -602,8 +602,8 @@ htmlSkipBlankChars(xmlParserCtxtPtr ctxt) {
|
|||
************************************************************************/
|
||||
|
||||
/*
|
||||
* Start Tag: 1 means the start tag can be ommited
|
||||
* End Tag: 1 means the end tag can be ommited
|
||||
* Start Tag: 1 means the start tag can be omitted
|
||||
* End Tag: 1 means the end tag can be omitted
|
||||
* 2 means it's forbidden (empty elements)
|
||||
* 3 means the tag is stylistic and should be closed easily
|
||||
* Depr: this element is deprecated
|
||||
|
@ -1342,7 +1342,7 @@ htmlAutoCloseOnClose(htmlParserCtxtPtr ctxt, const xmlChar * newtag)
|
|||
if (xmlStrEqual(newtag, ctxt->nameTab[i]))
|
||||
break;
|
||||
/*
|
||||
* A missplaced endtag can only close elements with lower
|
||||
* A misplaced endtag can only close elements with lower
|
||||
* or equal priority, so if we find an element with higher
|
||||
* priority before we find an element with
|
||||
* matching name, we just ignore this endtag
|
||||
|
@ -2176,6 +2176,7 @@ htmlEncodeEntities(unsigned char* out, int *outlen,
|
|||
* *
|
||||
************************************************************************/
|
||||
|
||||
#ifdef LIBXML_PUSH_ENABLED
|
||||
/**
|
||||
* htmlNewInputStream:
|
||||
* @ctxt: an HTML parser context
|
||||
|
@ -2207,6 +2208,7 @@ htmlNewInputStream(htmlParserCtxtPtr ctxt) {
|
|||
input->length = 0;
|
||||
return(input);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/************************************************************************
|
||||
|
@ -2216,9 +2218,9 @@ htmlNewInputStream(htmlParserCtxtPtr ctxt) {
|
|||
************************************************************************/
|
||||
/*
|
||||
* all tags allowing pc data from the html 4.01 loose dtd
|
||||
* NOTE: it might be more apropriate to integrate this information
|
||||
* NOTE: it might be more appropriate to integrate this information
|
||||
* into the html40ElementTable array but I don't want to risk any
|
||||
* binary incomptibility
|
||||
* binary incompatibility
|
||||
*/
|
||||
static const char *allowPCData[] = {
|
||||
"a", "abbr", "acronym", "address", "applet", "b", "bdo", "big",
|
||||
|
@ -2959,6 +2961,7 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
|
|||
}
|
||||
COPY_BUF(l,buf,nbchar,cur);
|
||||
if (nbchar >= HTML_PARSER_BIG_BUFFER_SIZE) {
|
||||
buf[nbchar] = 0;
|
||||
if (ctxt->sax->cdataBlock!= NULL) {
|
||||
/*
|
||||
* Insert as CDATA, which is the same as HTML_PRESERVE_NODE
|
||||
|
@ -2983,6 +2986,7 @@ htmlParseScript(htmlParserCtxtPtr ctxt) {
|
|||
}
|
||||
|
||||
if ((nbchar != 0) && (ctxt->sax != NULL) && (!ctxt->disableSAX)) {
|
||||
buf[nbchar] = 0;
|
||||
if (ctxt->sax->cdataBlock!= NULL) {
|
||||
/*
|
||||
* Insert as CDATA, which is the same as HTML_PRESERVE_NODE
|
||||
|
@ -3028,6 +3032,8 @@ htmlParseCharDataInternal(htmlParserCtxtPtr ctxt, int readahead) {
|
|||
COPY_BUF(l,buf,nbchar,cur);
|
||||
}
|
||||
if (nbchar >= HTML_PARSER_BIG_BUFFER_SIZE) {
|
||||
buf[nbchar] = 0;
|
||||
|
||||
/*
|
||||
* Ok the segment is to be consumed as chars.
|
||||
*/
|
||||
|
@ -5762,13 +5768,13 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
|
|||
break;
|
||||
}
|
||||
case XML_PARSER_CONTENT: {
|
||||
xmlChar chr[2] = { 0, 0 };
|
||||
long cons;
|
||||
|
||||
/*
|
||||
* Handle preparsed entities and charRef
|
||||
*/
|
||||
if (ctxt->token != 0) {
|
||||
xmlChar chr[2] = { 0 , 0 } ;
|
||||
|
||||
chr[0] = (xmlChar) ctxt->token;
|
||||
htmlCheckParagraph(ctxt);
|
||||
if ((ctxt->sax != NULL) && (ctxt->sax->characters != NULL))
|
||||
|
@ -5780,21 +5786,22 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
|
|||
cur = in->cur[0];
|
||||
if ((cur != '<') && (cur != '&')) {
|
||||
if (ctxt->sax != NULL) {
|
||||
chr[0] = cur;
|
||||
if (IS_BLANK_CH(cur)) {
|
||||
if (ctxt->keepBlanks) {
|
||||
if (ctxt->sax->characters != NULL)
|
||||
ctxt->sax->characters(
|
||||
ctxt->userData, &in->cur[0], 1);
|
||||
ctxt->userData, chr, 1);
|
||||
} else {
|
||||
if (ctxt->sax->ignorableWhitespace != NULL)
|
||||
ctxt->sax->ignorableWhitespace(
|
||||
ctxt->userData, &in->cur[0], 1);
|
||||
ctxt->userData, chr, 1);
|
||||
}
|
||||
} else {
|
||||
htmlCheckParagraph(ctxt);
|
||||
if (ctxt->sax->characters != NULL)
|
||||
ctxt->sax->characters(
|
||||
ctxt->userData, &in->cur[0], 1);
|
||||
ctxt->userData, chr, 1);
|
||||
}
|
||||
}
|
||||
ctxt->token = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue