summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lxml/includes/xmlparser.pxd1
-rw-r--r--src/lxml/parser.pxi2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/lxml/includes/xmlparser.pxd b/src/lxml/includes/xmlparser.pxd
index 74fe7586..187b079f 100644
--- a/src/lxml/includes/xmlparser.pxd
+++ b/src/lxml/includes/xmlparser.pxd
@@ -56,6 +56,7 @@ cdef extern from "libxml/tree.h":
const_xmlChar* base
const_xmlChar* cur
const_xmlChar* end
+ const_char *filename
ctypedef struct xmlParserInputBuffer:
void* context
diff --git a/src/lxml/parser.pxi b/src/lxml/parser.pxi
index 9431b21e..0c0a8b20 100644
--- a/src/lxml/parser.pxi
+++ b/src/lxml/parser.pxi
@@ -447,6 +447,8 @@ cdef xmlparser.xmlParserInput* _local_resolver(const_char* c_url, const_char* c_
data = doc_ref._data_bytes
c_input = xmlparser.xmlNewInputStream(c_context)
if c_input is not NULL:
+ if doc_ref._filename:
+ c_input.filename = <char *>tree.xmlStrdup(_xcstr(doc_ref._filename))
c_input.base = _xcstr(data)
c_input.length = python.PyBytes_GET_SIZE(data)
c_input.cur = c_input.base