Merge branch 'PHP-8.3' into PHP-8.4

This commit is contained in:
Jakub Zelenka 2025-03-11 22:23:09 +01:00
commit 6976fb6ba7
No known key found for this signature in database
GPG key ID: 1C0779DC5C0A9DE4
26 changed files with 1305 additions and 189 deletions

View file

@ -663,9 +663,11 @@ void xml_startElementHandler(void *userData, const XML_Char *name, const XML_Cha
array_init(&tag);
array_init(&atr);
xml_add_to_info(parser, ZSTR_VAL(tag_name) + parser->toffset);
char *skipped_tag_name = SKIP_TAGSTART(ZSTR_VAL(tag_name));
add_assoc_string(&tag, "tag", SKIP_TAGSTART(ZSTR_VAL(tag_name))); /* cast to avoid gcc-warning */
xml_add_to_info(parser, skipped_tag_name);
add_assoc_string(&tag, "tag", skipped_tag_name);
add_assoc_string(&tag, "type", "open");
add_assoc_long(&tag, "level", parser->level);
@ -747,12 +749,14 @@ void xml_endElementHandler(void *userData, const XML_Char *name)
add_assoc_string(zv, "type", "complete");
}
} else {
xml_add_to_info(parser, ZSTR_VAL(tag_name) + parser->toffset);
char *skipped_tag_name = SKIP_TAGSTART(ZSTR_VAL(tag_name));
xml_add_to_info(parser, skipped_tag_name);
zval *data = xml_get_separated_data(parser);
if (EXPECTED(data)) {
array_init(&tag);
add_assoc_string(&tag, "tag", SKIP_TAGSTART(ZSTR_VAL(tag_name))); /* cast to avoid gcc-warning */
add_assoc_string(&tag, "tag", skipped_tag_name);
add_assoc_string(&tag, "type", "close");
add_assoc_long(&tag, "level", parser->level);
zend_hash_next_index_insert(Z_ARRVAL_P(data), &tag);