mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-10-26 00:37:43 +03:00
io: Don't shrink memory input buffers
This commit is contained in:
3
parser.c
3
parser.c
@@ -2115,6 +2115,9 @@ static int spacePop(xmlParserCtxtPtr ctxt) {
|
||||
xmlSHRINK (ctxt);
|
||||
|
||||
static void xmlSHRINK (xmlParserCtxtPtr ctxt) {
|
||||
/* Don't shrink memory buffers. */
|
||||
if ((ctxt->input->buf) &&
|
||||
((ctxt->input->buf->encoder) || (ctxt->input->buf->readcallback)))
|
||||
xmlParserInputShrink(ctxt->input);
|
||||
if (*ctxt->input->cur == 0)
|
||||
xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
|
||||
|
||||
@@ -840,7 +840,7 @@ xmlTextReaderPushData(xmlTextReaderPtr reader) {
|
||||
* Discard the consumed input when needed and possible
|
||||
*/
|
||||
if (reader->mode == XML_TEXTREADER_MODE_INTERACTIVE) {
|
||||
if (alloc != XML_BUFFER_ALLOC_IMMUTABLE) {
|
||||
if (reader->input->readcallback != NULL) {
|
||||
if ((reader->cur >= 4096) &&
|
||||
(xmlBufUse(inbuf) - reader->cur <= CHUNK_SIZE)) {
|
||||
val = xmlBufShrink(inbuf, reader->cur);
|
||||
|
||||
Reference in New Issue
Block a user