diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | parser.c | 18 | ||||
-rw-r--r-- | xmlwriter.c | 4 |
3 files changed, 9 insertions, 19 deletions
@@ -1,3 +1,9 @@ +Fri Jun 19 19:51:08 CEST 2009 Rob Richards <rrichards@cdatazone.org> + + * parser.c: use options from current parser context when creating + a parser context within xmlParseCtxtExternalEntity + * xmlwriter.c: fix error message when unable to create output file + Thu Jun 4 11:17:23 CEST 2009 Daniel Veillard <daniel@veillard.com> * c14n.c debugXML.c doc/examples/io2.c parser.c schematron.c @@ -12068,27 +12068,11 @@ xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL, if (ctx->myDoc == NULL) /* @@ relax but check for dereferences */ return(-1); - ctxt = xmlNewParserCtxt(); + ctxt = xmlCreateEntityParserCtxtInternal(URL, ID, NULL, ctx); if (ctxt == NULL) { return(-1); } - ctxt->userData = ctxt; - ctxt->_private = ctx->_private; - - inputStream = xmlLoadExternalEntity((char *)URL, (char *)ID, ctxt); - if (inputStream == NULL) { - xmlFreeParserCtxt(ctxt); - return(-1); - } - - inputPush(ctxt, inputStream); - - if ((ctxt->directory == NULL) && (directory == NULL)) - directory = xmlParserGetDirectory((char *)URL); - if ((ctxt->directory == NULL) && (directory != NULL)) - ctxt->directory = directory; - oldsax = ctxt->sax; ctxt->sax = ctx->sax; xmlDetectSAX2(ctxt); diff --git a/xmlwriter.c b/xmlwriter.c index ec3231fd..11b15e03 100644 --- a/xmlwriter.c +++ b/xmlwriter.c @@ -242,8 +242,8 @@ xmlNewTextWriterFilename(const char *uri, int compression) out = xmlOutputBufferCreateFilename(uri, NULL, compression); if (out == NULL) { - xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY, - "xmlNewTextWriterFilename : out of memory!\n"); + xmlWriterErrMsg(NULL, XML_IO_EIO, + "xmlNewTextWriterFilename : cannot open uri\n"); return NULL; } |