summaryrefslogtreecommitdiff
path: root/HTMLparser.c
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-09-02 13:34:01 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-09-02 13:34:01 +0400
commitfa06cf6edf86aa1839d4f43bfd3bd9a3a36b5223 (patch)
tree705466443ec58fffa74a3499a3bcc56be1cdee9d /HTMLparser.c
parent08f466c86ef859f2f3ab1f65677536cbccd85960 (diff)
parent3a8c2d58eab0410fe5e79a112614aa9be061dc46 (diff)
downloadlibxml2-fa06cf6edf86aa1839d4f43bfd3bd9a3a36b5223.tar.gz
Merge branch 'master' of git://anonscm.debian.org/debian-xml-sgml/libxml2
Conflicts: debian/changelog debian/control debian/rules
Diffstat (limited to 'HTMLparser.c')
-rw-r--r--HTMLparser.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/HTMLparser.c b/HTMLparser.c
index a533f37..dd0c1ea 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -3561,7 +3561,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);
+ nbchars = xmlCharEncInput(ctxt->input->buf, 1);
if (nbchars < 0) {
htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING,
"htmlCheckEncoding: encoder error\n",
@@ -6054,13 +6054,16 @@ htmlParseChunk(htmlParserCtxtPtr ctxt, const char *chunk, int size,
if ((in->encoder != NULL) && (in->buffer != NULL) &&
(in->raw != NULL)) {
int nbchars;
+ size_t base = xmlBufGetInputBase(in->buffer, ctxt->input);
+ size_t current = ctxt->input->cur - ctxt->input->base;
- nbchars = xmlCharEncInput(in);
+ nbchars = xmlCharEncInput(in, terminate);
if (nbchars < 0) {
htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING,
"encoder error\n", NULL, NULL);
return(XML_ERR_INVALID_ENCODING);
}
+ xmlBufSetInputBaseCur(in->buffer, ctxt->input, base, current);
}
}
}