summaryrefslogtreecommitdiff
path: root/src/core/element.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/element.c')
-rw-r--r--src/core/element.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/core/element.c b/src/core/element.c
index 1c76db3..3400192 100644
--- a/src/core/element.c
+++ b/src/core/element.c
@@ -1404,6 +1404,7 @@ dom_exception _dom_element_copy(dom_node_internal *old,
dom_element *olde = (dom_element *) old;
dom_element *e;
dom_exception err;
+ uint32_t classnr;
e = malloc(sizeof(dom_element));
if (e == NULL)
@@ -1421,7 +1422,18 @@ dom_exception _dom_element_copy(dom_node_internal *old,
} else {
e->attributes = NULL;
}
-
+
+ if (olde->n_classes > 0) {
+ e->n_classes = olde->n_classes;
+ e->classes = malloc(sizeof(lwc_string *) * e->n_classes);
+ for (classnr = 0; classnr < e->n_classes; ++classnr)
+ e->classes[classnr] =
+ lwc_string_ref(olde->classes[classnr]);
+ } else {
+ e->n_classes = 0;
+ e->classes = NULL;
+ }
+
e->id_ns = NULL;
e->id_name = NULL;