mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-29 11:41:22 +03:00
more cleanup through the I/O error path Daniel
* error.c tree.c xmlIO.c xmllint.c: more cleanup through the I/O error path Daniel
This commit is contained in:
@ -1,3 +1,8 @@
|
||||
Wed Oct 8 21:18:12 CEST 2003 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* error.c tree.c xmlIO.c xmllint.c: more cleanup through the
|
||||
I/O error path
|
||||
|
||||
Wed Oct 8 20:57:27 CEST 2003 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* xmlIO.c: better handling of error cases
|
||||
|
7
error.c
7
error.c
@ -350,9 +350,14 @@ xmlReportError(xmlErrorPtr err, xmlParserCtxtPtr ctxt, const char *str,
|
||||
if (code == XML_ERR_OK)
|
||||
return;
|
||||
if (str != NULL) {
|
||||
int len;
|
||||
len = xmlStrlen((const xmlChar *)str);
|
||||
if ((len > 0) && (str[len - 1] != '\n'))
|
||||
channel(data, "%s", str);
|
||||
else
|
||||
channel(data, "%s\n", str);
|
||||
} else {
|
||||
channel(data, "%s", "out of memory error");
|
||||
channel(data, "%s\n", "out of memory error");
|
||||
}
|
||||
if (code == XML_ERR_OK)
|
||||
return;
|
||||
|
5
xmlIO.c
5
xmlIO.c
@ -1974,7 +1974,8 @@ xmlFreeParserInputBuffer(xmlParserInputBufferPtr in) {
|
||||
* Returns the number of byte written or -1 in case of error.
|
||||
*/
|
||||
int
|
||||
xmlOutputBufferClose(xmlOutputBufferPtr out) {
|
||||
xmlOutputBufferClose(xmlOutputBufferPtr out)
|
||||
{
|
||||
int written;
|
||||
int err_rc = 0;
|
||||
|
||||
@ -1998,6 +1999,8 @@ xmlOutputBufferClose(xmlOutputBufferPtr out) {
|
||||
out->buffer = NULL;
|
||||
}
|
||||
|
||||
if (out->error)
|
||||
err_rc = -1;
|
||||
xmlFree(out);
|
||||
return ((err_rc == 0) ? written : err_rc);
|
||||
}
|
||||
|
Reference in New Issue
Block a user