diff options
author | Pavel Andrejs <pavel.andrejs@gmail.com> | 2012-05-08 11:01:12 +0800 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2012-05-08 11:01:12 +0800 |
commit | 8ad4da5f56d8f6cadb9e5ed4bb50ded3beec8f5a (patch) | |
tree | 5ebdfb32f1c298c9c8d7780206dc06ebfc12caae /SAX2.c | |
parent | 48f0f3f29f52244c9ea3437d2f3d407abd777a83 (diff) | |
download | libxml2-8ad4da5f56d8f6cadb9e5ed4bb50ded3beec8f5a.tar.gz |
HTML element position is not detected propperly
The data in node_seq in xmlParserCtxt was not updated properly
when parsing HTML. This patch fixes the accounting for both
pull and push mode of HTML parsing.
Diffstat (limited to 'SAX2.c')
-rw-r--r-- | SAX2.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -1756,7 +1756,6 @@ void xmlSAX2EndElement(void *ctx, const xmlChar *name ATTRIBUTE_UNUSED) { xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; - xmlParserNodeInfo node_info; xmlNodePtr cur; if (ctx == NULL) return; @@ -1770,10 +1769,10 @@ xmlSAX2EndElement(void *ctx, const xmlChar *name ATTRIBUTE_UNUSED) /* Capture end position and add node */ if (cur != NULL && ctxt->record_info) { - node_info.end_pos = ctxt->input->cur - ctxt->input->base; - node_info.end_line = ctxt->input->line; - node_info.node = cur; - xmlParserAddNodeInfo(ctxt, &node_info); + ctxt->nodeInfo->end_pos = ctxt->input->cur - ctxt->input->base; + ctxt->nodeInfo->end_line = ctxt->input->line; + ctxt->nodeInfo->node = cur; + xmlParserAddNodeInfo(ctxt, ctxt->nodeInfo); } ctxt->nodemem = -1; |