File tree Expand file tree Collapse file tree 2 files changed +5
-0
lines changed
Expand file tree Collapse file tree 2 files changed +5
-0
lines changed Original file line number Diff line number Diff line change @@ -268,6 +268,7 @@ cdef class LexborCSSSelector:
268268
269269cdef class LexborHTMLParser:
270270 cdef lxb_html_document_t * document
271+ cdef lxb_html_document_t * _original_document
271272 cdef bint _is_fragment
272273 cdef public bytes raw_html
273274 cdef LexborCSSSelector _selector
Original file line number Diff line number Diff line change @@ -48,6 +48,7 @@ cdef class LexborHTMLParser:
4848 cdef size_t html_len
4949 cdef object bytes_html
5050 self ._is_fragment = is_fragment
51+ self ._original_document = NULL
5152 self ._selector = None
5253 self ._new_html_document()
5354 bytes_html, html_len = preprocess_input(html)
@@ -174,6 +175,7 @@ cdef class LexborHTMLParser:
174175 return LXB_STATUS_ERROR
175176
176177 # Use the fragment document returned by lexbor as the parser document.
178+ self ._original_document = self .document
177179 self .document = < lxb_html_document_t * > fragment_html_node
178180 return LXB_STATUS_OK
179181
@@ -191,6 +193,8 @@ cdef class LexborHTMLParser:
191193 """
192194 if self .document != NULL :
193195 lxb_html_document_destroy(self .document)
196+ if self ._original_document != NULL :
197+ lxb_html_document_destroy(self ._original_document)
194198
195199 def __repr__ (self ):
196200 """ Return a concise representation of the parsed document.
You can’t perform that action at this time.
0 commit comments