summaryrefslogtreecommitdiff
path: root/src/treebuilder/in_foreign_content.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/treebuilder/in_foreign_content.c')
-rw-r--r--src/treebuilder/in_foreign_content.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/src/treebuilder/in_foreign_content.c b/src/treebuilder/in_foreign_content.c
index 5b38839..a5dda6b 100644
--- a/src/treebuilder/in_foreign_content.c
+++ b/src/treebuilder/in_foreign_content.c
@@ -147,16 +147,14 @@ void adjust_svg_attributes(hubbub_treebuilder *treebuilder,
for (size_t i = 0; i < tag->n_attributes; i++) {
hubbub_attribute *attr = &tag->attributes[i];
- const uint8_t *name = treebuilder->input_buffer +
- attr->name.data.off;
+ const uint8_t *name = attr->name.ptr;
size_t len = attr->name.len;
for (size_t j = 0; j < N_ELEMENTS(svg_attributes); j++) {
if (hubbub_string_match(name, len,
(uint8_t *)svg_attributes[j].attr,
svg_attributes[j].len)) {
- attr->name.type = HUBBUB_STRING_PTR;
- attr->name.data.ptr =
+ attr->name.ptr =
(uint8_t *)svg_attributes[j].proper;
}
}
@@ -172,16 +170,14 @@ void adjust_svg_attributes(hubbub_treebuilder *treebuilder,
void adjust_svg_tagname(hubbub_treebuilder *treebuilder,
hubbub_tag *tag)
{
- uint8_t *name = (uint8_t *) treebuilder->input_buffer +
- tag->name.data.off;
+ const uint8_t *name = tag->name.ptr;
size_t len = tag->name.len;
for (size_t i = 0; i < N_ELEMENTS(svg_tagnames); i++) {
if (hubbub_string_match(name, len,
(uint8_t *)svg_tagnames[i].attr,
svg_tagnames[i].len)) {
- tag->name.type = HUBBUB_STRING_PTR;
- tag->name.data.ptr =
+ tag->name.ptr =
(uint8_t *)svg_tagnames[i].proper;
}
}
@@ -202,8 +198,7 @@ void adjust_foreign_attributes(hubbub_treebuilder *treebuilder,
{
for (size_t i = 0; i < tag->n_attributes; i++) {
hubbub_attribute *attr = &tag->attributes[i];
- const uint8_t *name = treebuilder->input_buffer +
- attr->name.data.off;
+ const uint8_t *name = attr->name.ptr;
/* 10 == strlen("xlink:href") */
if (attr->name.len >= 10 &&
@@ -226,7 +221,7 @@ void adjust_foreign_attributes(hubbub_treebuilder *treebuilder,
hubbub_string_match(name, len,
S("type"))) {
attr->ns = HUBBUB_NS_XLINK;
- attr->name.data.off += 6;
+ attr->name.ptr += 6;
attr->name.len -= 6;
}
/* 8 == strlen("xml:base") */
@@ -241,7 +236,7 @@ void adjust_foreign_attributes(hubbub_treebuilder *treebuilder,
hubbub_string_match(name, len,
S("space"))) {
attr->ns = HUBBUB_NS_XML;
- attr->name.data.off += 4;
+ attr->name.ptr += 4;
attr->name.len -= 4;
}
} else if (hubbub_string_match(name, attr->name.len,
@@ -249,7 +244,7 @@ void adjust_foreign_attributes(hubbub_treebuilder *treebuilder,
hubbub_string_match(name, attr->name.len,
S("xmlns:xlink"))) {
attr->ns = HUBBUB_NS_XMLNS;
- attr->name.data.off += 6;
+ attr->name.ptr += 6;
attr->name.len -= 6;
}