htex

simple incorrect html parser
git clone git://git.relim.de/htex.git
Log | Files | Refs | README

commit dc8dd5f3590eb1962607749f4a8e49cf83786ec2
parent a51e3a936d1e18d8cd024bb8983111a07a66091e
Author: Robin <kroekerrobin@gmail.com>
Date:   Fri, 11 Aug 2023 17:16:43 +0200

Correct closeLastUnclosedTag()

Diffstat:
Mhtml.c | 4+++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/html.c b/html.c @@ -215,7 +215,7 @@ struct tag *closeLastUnclosedTag(struct tag_list *tagList, const char *endTag, s { for (int i=tagList->len-1; i>-1; i--) { - if (strcmp(tagList->tags[i]->name, endTag) == 0) + if (strcmp(tagList->tags[i]->name, endTag) == 0 && !tagList->tags[i]->_isClosed) { tagList->tags[i]->_isClosed = true; tagList->tags[i]->_outerHtmlEndOffset = endOffset; @@ -230,7 +230,9 @@ struct tag *getLastOpenTag(struct tag_list *tagList) for (int i=tagList->len-1; i>-1; i--) { if (!tagList->tags[i]->_isVoidElement && !tagList->tags[i]->_isClosed) + { return tagList->tags[i]; + } } return tagList->tags[0]; }