diff --git a/ChangeLog b/ChangeLog index 003a4569..064dd1a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Apr 23 15:49:32 CEST 2003 Daniel Veillard + + * DOCBparser.c SAX.c catalog.c debugXML.c parser.c: try to find + more places where xmlCanonicPath() must be used to convert + filenames to URLs, trying to fix #111088 + Wed Apr 23 09:35:12 CEST 2003 Daniel Veillard * python/libxml.c python/libxml.py: applied patch from diff --git a/DOCBparser.c b/DOCBparser.c index 5a811cbc..82b95652 100644 --- a/DOCBparser.c +++ b/DOCBparser.c @@ -5918,7 +5918,7 @@ docbCreatePushParserCtxt(docbSAXHandlerPtr sax, void *user_data, if (filename == NULL) inputStream->filename = NULL; else - inputStream->filename = xmlMemStrdup(filename); + inputStream->filename = xmlCanonicPath(filename); inputStream->buf = buf; inputStream->base = inputStream->buf->buffer->content; inputStream->cur = inputStream->buf->buffer->content; @@ -6030,8 +6030,7 @@ docbCreateFileParserCtxt(const char *filename, } memset(inputStream, 0, sizeof(docbParserInput)); - inputStream->filename = (char *) - xmlCanonicPath((const xmlChar *)filename); + inputStream->filename = (char *) xmlCanonicPath((const xmlChar *)filename); inputStream->line = 1; inputStream->col = 1; inputStream->buf = buf; diff --git a/SAX.c b/SAX.c index 710e8977..6bbb4013 100644 --- a/SAX.c +++ b/SAX.c @@ -253,7 +253,7 @@ externalSubset(void *ctx, const xmlChar *name, } if (input->filename == NULL) - input->filename = (char *) xmlStrdup(SystemID); + input->filename = (char *) xmlCanonicPath(SystemID); input->line = 1; input->col = 1; input->base = ctxt->input->cur; diff --git a/catalog.c b/catalog.c index dcf255fb..1a0ebcb5 100644 --- a/catalog.c +++ b/catalog.c @@ -788,7 +788,7 @@ xmlParseCatalogFile(const char *filename) { return(NULL); } - inputStream->filename = xmlMemStrdup(filename); + inputStream->filename = xmlCanonicPath(filename); inputStream->buf = buf; inputStream->base = inputStream->buf->buffer->content; inputStream->cur = inputStream->buf->buffer->content; diff --git a/debugXML.c b/debugXML.c index cbb74c04..9f762e1e 100644 --- a/debugXML.c +++ b/debugXML.c @@ -1754,7 +1754,7 @@ xmlShellLoad(xmlShellCtxtPtr ctxt, char *filename, #ifdef LIBXML_XPATH_ENABLED ctxt->pctxt = xmlXPathNewContext(doc); #endif /* LIBXML_XPATH_ENABLED */ - ctxt->filename = (char *) xmlStrdup((xmlChar *) filename); + ctxt->filename = (char *) xmlCanonicPath((xmlChar *) filename); } else return (-1); return (0); diff --git a/parser.c b/parser.c index 728b5bd0..c1ce81e7 100644 --- a/parser.c +++ b/parser.c @@ -9543,7 +9543,7 @@ xmlSAXParseDTD(xmlSAXHandlerPtr sax, const xmlChar *ExternalID, xmlSwitchEncoding(ctxt, enc); if (input->filename == NULL) - input->filename = (char *) xmlStrdup(SystemID); + input->filename = (char *) xmlCanonicPath(SystemID); input->line = 1; input->col = 1; input->base = ctxt->input->cur; @@ -10681,7 +10681,7 @@ xmlSetupParserForBuffer(xmlParserCtxtPtr ctxt, const xmlChar* buffer, xmlClearParserCtxt(ctxt); if (filename != NULL) - input->filename = xmlMemStrdup(filename); + input->filename = xmlCanonicPath(filename); input->base = buffer; input->cur = buffer; input->end = &buffer[xmlStrlen(buffer)];