libxml2 r3825 - trunk
- From: rrichard svn gnome org
- To: svn-commits-list gnome org
- Subject: libxml2 r3825 - trunk
- Date: Thu, 26 Mar 2009 18:10:19 +0000 (UTC)
Author: rrichard
Date: Thu Mar 26 18:10:19 2009
New Revision: 3825
URL: http://svn.gnome.org/viewvc/libxml2?rev=3825&view=rev
Log:
* parser.c: use options from current parser context when creating
an entity parser context
Modified:
trunk/ChangeLog
trunk/parser.c
Modified: trunk/parser.c
==============================================================================
--- trunk/parser.c (original)
+++ trunk/parser.c Thu Mar 26 18:10:19 2009
@@ -83,6 +83,10 @@
static void
xmlFatalErr(xmlParserCtxtPtr ctxt, xmlParserErrors error, const char *info);
+static xmlParserCtxtPtr
+xmlCreateEntityParserCtxtInternal(const xmlChar *URL, const xmlChar *ID,
+ const xmlChar *base, xmlParserCtxtPtr pctx);
+
/************************************************************************
* *
* Arbitrary limits set in the parser. See XML_PARSE_HUGE *
@@ -12279,7 +12283,7 @@
return(XML_ERR_INTERNAL_ERROR);
- ctxt = xmlCreateEntityParserCtxt(URL, ID, NULL);
+ ctxt = xmlCreateEntityParserCtxtInternal(URL, ID, NULL, oldctxt);
if (ctxt == NULL) return(XML_WAR_UNDECLARED_ENTITY);
ctxt->userData = ctxt;
if (oldctxt != NULL) {
@@ -13114,10 +13118,11 @@
#endif /* LIBXML_SAX1_ENABLED */
/**
- * xmlCreateEntityParserCtxt:
+ * xmlCreateEntityParserCtxtInternal:
* @URL: the entity URL
* @ID: the entity PUBLIC ID
* @base: a possible base for the target URI
+ * @pctx: parser context used to set options on new context
*
* Create a parser context for an external entity
* Automatic support for ZLIB/Compress compressed document is provided
@@ -13125,9 +13130,9 @@
*
* Returns the new parser context or NULL
*/
-xmlParserCtxtPtr
-xmlCreateEntityParserCtxt(const xmlChar *URL, const xmlChar *ID,
- const xmlChar *base) {
+static xmlParserCtxtPtr
+xmlCreateEntityParserCtxtInternal(const xmlChar *URL, const xmlChar *ID,
+ const xmlChar *base, xmlParserCtxtPtr pctx) {
xmlParserCtxtPtr ctxt;
xmlParserInputPtr inputStream;
char *directory = NULL;
@@ -13138,6 +13143,10 @@
return(NULL);
}
+ if (pctx != NULL) {
+ ctxt->options = pctx->options;
+ }
+
uri = xmlBuildURI(URL, base);
if (uri == NULL) {
@@ -13172,6 +13181,25 @@
return(ctxt);
}
+/**
+ * xmlCreateEntityParserCtxt:
+ * @URL: the entity URL
+ * @ID: the entity PUBLIC ID
+ * @base: a possible base for the target URI
+ *
+ * Create a parser context for an external entity
+ * Automatic support for ZLIB/Compress compressed document is provided
+ * by default if found at compile-time.
+ *
+ * Returns the new parser context or NULL
+ */
+xmlParserCtxtPtr
+xmlCreateEntityParserCtxt(const xmlChar *URL, const xmlChar *ID,
+ const xmlChar *base) {
+ return xmlCreateEntityParserCtxtInternal(URL, ID, base, NULL);
+
+}
+
/************************************************************************
* *
* Front ends when parsing from a file *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]