[libxml2] Revert "Change calls to xmlCharEncInput to set flush false"



commit 7a1bd7f6497ac33a9023d556f6f47a48f01deac0
Author: Nick Wellnhofer <wellnhofer aevum de>
Date:   Sat Mar 17 00:03:24 2018 +0100

    Revert "Change calls to xmlCharEncInput to set flush false"
    
    This reverts commit 6e6ae5daa6cd9640c9a83c1070896273e9b30d14 which
    broke decoding of larger documents with ICU.
    
    See https://bugs.chromium.org/p/chromium/issues/detail?id=820163

 HTMLparser.c      |    2 +-
 parserInternals.c |    2 +-
 xmlIO.c           |    4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/HTMLparser.c b/HTMLparser.c
index 9adeb17..7e243e6 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -3635,7 +3635,7 @@ htmlCheckEncodingDirect(htmlParserCtxtPtr ctxt, const xmlChar *encoding) {
             */
            processed = ctxt->input->cur - ctxt->input->base;
            xmlBufShrink(ctxt->input->buf->buffer, processed);
-           nbchars = xmlCharEncInput(ctxt->input->buf, 0);
+           nbchars = xmlCharEncInput(ctxt->input->buf, 1);
            if (nbchars < 0) {
                htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING,
                             "htmlCheckEncoding: encoder error\n",
diff --git a/parserInternals.c b/parserInternals.c
index 8c0cd57..09876ab 100644
--- a/parserInternals.c
+++ b/parserInternals.c
@@ -1214,7 +1214,7 @@ xmlSwitchInputEncodingInt(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
                 /*
                  * convert as much as possible of the buffer
                  */
-                nbchars = xmlCharEncInput(input->buf, 0);
+                nbchars = xmlCharEncInput(input->buf, 1);
             } else {
                 /*
                  * convert just enough to get
diff --git a/xmlIO.c b/xmlIO.c
index 8254347..f61dd05 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -3157,7 +3157,7 @@ xmlParserInputBufferPush(xmlParserInputBufferPtr in,
         * convert as much as possible to the parser reading buffer.
         */
        use = xmlBufUse(in->raw);
-       nbchars = xmlCharEncInput(in, 0);
+       nbchars = xmlCharEncInput(in, 1);
        if (nbchars < 0) {
            xmlIOErr(XML_IO_ENCODER, NULL);
            in->error = XML_IO_ENCODER;
@@ -3273,7 +3273,7 @@ xmlParserInputBufferGrow(xmlParserInputBufferPtr in, int len) {
         * convert as much as possible to the parser reading buffer.
         */
        use = xmlBufUse(in->raw);
-       nbchars = xmlCharEncInput(in, 0);
+       nbchars = xmlCharEncInput(in, 1);
        if (nbchars < 0) {
            xmlIOErr(XML_IO_ENCODER, NULL);
            in->error = XML_IO_ENCODER;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]