1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-26 00:37:43 +03:00

fix output bug reported by Petr Pajas and analyzed by Bill Daniel

* xmlIO.c: fix output bug reported by Petr Pajas and analyzed by Bill
Daniel

svn path=/trunk/; revision=3695
This commit is contained in:
Daniel Veillard
2008-02-16 10:08:14 +00:00
parent 6f8611fdb4
commit c4ba8a4221
2 changed files with 16 additions and 0 deletions

11
xmlIO.c
View File

@@ -3315,6 +3315,16 @@ xmlOutputBufferWriteEscape(xmlOutputBufferPtr out, const xmlChar *str,
cons = len;
chunk = (out->buffer->size - out->buffer->use) - 1;
/*
* make sure we have enough room to save first, if this is
* not the case force a flush, but make sure we stay in the loop
*/
if (chunk < 40) {
nbchars = 0;
oldwritten = -1;
goto flush;
}
/*
* first handle encoding stuff.
*/
@@ -3360,6 +3370,7 @@ xmlOutputBufferWriteEscape(xmlOutputBufferPtr out, const xmlChar *str,
if ((nbchars < MINLEN) && (len <= 0))
goto done;
flush:
if (out->writecallback) {
/*
* second write the stuff to the I/O channel