jcs
/detritus
/amendments
/64
html_tokenize: Add missing token emitting in *_END_TAG_NAME
jcs made amendment 64 about 1 year ago
--- html_tokenize.c Mon Dec 16 13:08:00 2024
+++ html_tokenize.c Sun Dec 22 21:41:58 2024
@@ -336,6 +336,7 @@ reconsume:
if (!html_appropriate_end_tag_token(html, &html->new_token))
goto HTML_STATE_RCDATA_END_TAG_NAME_anything_else;
html->state = HTML_STATE_DATA;
+ html_emit_token(html, &html->new_token);
break;
default:
if (IS_UPPER_ALPHA(cc))
@@ -403,6 +404,7 @@ reconsume:
if (!html_appropriate_end_tag_token(html, &html->new_token))
goto HTML_STATE_RAWTEXT_END_TAG_NAME_anything_else;
html->state = HTML_STATE_DATA;
+ html_emit_token(html, &html->new_token);
break;
default:
if (IS_UPPER_ALPHA(cc))
@@ -477,6 +479,7 @@ reconsume:
if (!html_appropriate_end_tag_token(html, &html->new_token))
goto HTML_STATE_SCRIPT_DATA_END_TAG_NAME_anything_else;
html->state = HTML_STATE_DATA;
+ html_emit_token(html, &html->new_token);
break;
default:
if (IS_UPPER_ALPHA(cc))
@@ -671,6 +674,7 @@ reconsume:
if (!html_appropriate_end_tag_token(html, &html->new_token))
goto HTML_STATE_SCRIPT_DATA_ESCAPED_END_TAG_NAME_anything_else;
html->state = HTML_STATE_DATA;
+ html_emit_token(html, &html->new_token);
break;
default:
if (IS_UPPER_ALPHA(cc))
@@ -2181,8 +2185,7 @@ html_appropriate_end_tag_token(struct html_page *html,
if (html->open_count <= 0)
return false;
- /* TODO: fix */
-
+ /* TODO: store last start tag to have been emitted and check that */
return (strcmp(html->current_node->name, html->new_token.tag.name) == 0);
}