summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/attr.c38
-rw-r--r--src/core/characterdata.c27
-rw-r--r--src/core/document.c9
-rw-r--r--src/core/element.c41
-rw-r--r--src/core/node.c65
-rw-r--r--src/core/text.c12
-rw-r--r--src/events/document_event.c5
-rw-r--r--src/events/keyboard_event.c16
-rw-r--r--src/events/mouse_event.c7
-rw-r--r--src/events/mouse_multi_wheel_event.c4
-rw-r--r--src/events/mouse_wheel_event.c2
-rw-r--r--src/html/html_base_element.c4
-rw-r--r--src/html/html_body_element.c4
-rw-r--r--src/html/html_form_element.c4
-rw-r--r--src/html/html_head_element.c4
-rw-r--r--src/html/html_html_element.c4
-rw-r--r--src/html/html_isindex_element.c4
-rw-r--r--src/html/html_link_element.c4
-rw-r--r--src/html/html_meta_element.c4
-rw-r--r--src/html/html_select_element.c4
-rw-r--r--src/html/html_style_element.c4
-rw-r--r--src/html/html_title_element.c4
22 files changed, 170 insertions, 100 deletions
diff --git a/src/core/attr.c b/src/core/attr.c
index 9da6ae3..dc14a93 100644
--- a/src/core/attr.c
+++ b/src/core/attr.c
@@ -225,6 +225,11 @@ dom_exception dom_attr_get_integer(dom_attr *a, unsigned long *value)
*/
dom_exception dom_attr_set_integer(dom_attr *a, unsigned long value)
{
+ struct dom_document *doc;
+ struct dom_node_internal *ele;
+ bool success = true;
+ dom_exception err;
+
/* If this is the first set method, we should fix this attribute
* type */
if (a->type == DOM_ATTR_UNSET)
@@ -238,10 +243,8 @@ dom_exception dom_attr_set_integer(dom_attr *a, unsigned long value)
a->value.lvalue = value;
- struct dom_document *doc = dom_node_get_owner(a);
- struct dom_node_internal *ele = dom_node_get_parent(a);
- bool success = true;
- dom_exception err;
+ doc = dom_node_get_owner(a);
+ ele = dom_node_get_parent(a);
err = _dom_dispatch_attr_modified_event(doc, ele, NULL, NULL,
(dom_event_target *) a, NULL,
DOM_MUTATION_MODIFICATION, &success);
@@ -284,6 +287,11 @@ dom_exception dom_attr_get_short(dom_attr *a, unsigned short *value)
*/
dom_exception dom_attr_set_short(dom_attr *a, unsigned short value)
{
+ struct dom_document *doc;
+ struct dom_node_internal *ele;
+ bool success = true;
+ dom_exception err;
+
/* If this is the first set method, we should fix this attribute
* type */
if (a->type == DOM_ATTR_UNSET)
@@ -297,10 +305,8 @@ dom_exception dom_attr_set_short(dom_attr *a, unsigned short value)
a->value.svalue = value;
- struct dom_document *doc = dom_node_get_owner(a);
- struct dom_node_internal *ele = dom_node_get_parent(a);
- bool success = true;
- dom_exception err;
+ doc = dom_node_get_owner(a);
+ ele = dom_node_get_parent(a);
err = _dom_dispatch_attr_modified_event(doc, ele, NULL, NULL,
(dom_event_target *) a, NULL,
DOM_MUTATION_MODIFICATION, &success);
@@ -343,6 +349,11 @@ dom_exception dom_attr_get_bool(dom_attr *a, bool *value)
*/
dom_exception dom_attr_set_bool(dom_attr *a, bool value)
{
+ struct dom_document *doc;
+ struct dom_node_internal *ele;
+ bool success = true;
+ dom_exception err;
+
/* If this is the first set method, we should fix this attribute
* type */
if (a->type == DOM_ATTR_UNSET)
@@ -356,10 +367,8 @@ dom_exception dom_attr_set_bool(dom_attr *a, bool value)
a->value.bvalue = value;
- struct dom_document *doc = dom_node_get_owner(a);
- struct dom_node_internal *ele = dom_node_get_parent(a);
- bool success = true;
- dom_exception err;
+ doc = dom_node_get_owner(a);
+ ele = dom_node_get_parent(a);
err = _dom_dispatch_attr_modified_event(doc, ele, NULL, NULL,
(dom_event_target *) a, NULL,
DOM_MUTATION_MODIFICATION, &success);
@@ -520,6 +529,8 @@ dom_exception _dom_attr_set_value(struct dom_attr *attr,
struct dom_node_internal *c, *d;
struct dom_text *text;
dom_exception err;
+ dom_string *name = NULL;
+ dom_string *parsed = NULL;
/* Ensure attribute is writable */
if (_dom_node_readonly(a))
@@ -533,13 +544,10 @@ dom_exception _dom_attr_set_value(struct dom_attr *attr,
if (attr->type != DOM_ATTR_STRING)
return DOM_ATTR_WRONG_TYPE_ERR;
- dom_string *name = NULL;
-
err = _dom_attr_get_name(attr, &name);
if (err != DOM_NO_ERR)
return err;
- dom_string *parsed = NULL;
err = dom_element_parse_attribute(a->parent, name, value, &parsed);
dom_string_unref(name);
if (err != DOM_NO_ERR) {
diff --git a/src/core/characterdata.c b/src/core/characterdata.c
index 91a0764..ff89401 100644
--- a/src/core/characterdata.c
+++ b/src/core/characterdata.c
@@ -125,15 +125,16 @@ dom_exception _dom_characterdata_set_data(struct dom_characterdata *cdata,
dom_string *data)
{
struct dom_node_internal *c = (struct dom_node_internal *) cdata;
+ dom_exception err;
+ struct dom_document *doc;
+ bool success = true;
if (_dom_node_readonly(c)) {
return DOM_NO_MODIFICATION_ALLOWED_ERR;
}
/* Dispatch a DOMCharacterDataModified event */
- dom_exception err;
- struct dom_document *doc = dom_node_get_owner(cdata);
- bool success = true;
+ doc = dom_node_get_owner(cdata);
err = _dom_dispatch_characterdata_modified_event(doc, c, c->value,
data, &success);
if (err != DOM_NO_ERR)
@@ -230,6 +231,8 @@ dom_exception _dom_characterdata_append_data(struct dom_characterdata *cdata,
struct dom_node_internal *c = (struct dom_node_internal *) cdata;
dom_string *temp;
dom_exception err;
+ struct dom_document *doc;
+ bool success = true;
if (_dom_node_readonly(c)) {
return DOM_NO_MODIFICATION_ALLOWED_ERR;
@@ -241,8 +244,7 @@ dom_exception _dom_characterdata_append_data(struct dom_characterdata *cdata,
}
/* Dispatch a DOMCharacterDataModified event */
- struct dom_document *doc = dom_node_get_owner(cdata);
- bool success = true;
+ doc = dom_node_get_owner(cdata);
err = _dom_dispatch_characterdata_modified_event(doc, c, c->value,
temp, &success);
if (err != DOM_NO_ERR)
@@ -277,6 +279,8 @@ dom_exception _dom_characterdata_insert_data(struct dom_characterdata *cdata,
dom_string *temp;
uint32_t len;
dom_exception err;
+ struct dom_document *doc;
+ bool success = true;
if (_dom_node_readonly(c)) {
return DOM_NO_MODIFICATION_ALLOWED_ERR;
@@ -302,8 +306,7 @@ dom_exception _dom_characterdata_insert_data(struct dom_characterdata *cdata,
}
/* Dispatch a DOMCharacterDataModified event */
- struct dom_document *doc = dom_node_get_owner(cdata);
- bool success = true;
+ doc = dom_node_get_owner(cdata);
err = _dom_dispatch_characterdata_modified_event(doc, c, c->value,
temp, &success);
if (err != DOM_NO_ERR)
@@ -338,6 +341,8 @@ dom_exception _dom_characterdata_delete_data(struct dom_characterdata *cdata,
dom_string *temp;
uint32_t len, end;
dom_exception err;
+ struct dom_document *doc;
+ bool success = true;
if (_dom_node_readonly(c)) {
return DOM_NO_MODIFICATION_ALLOWED_ERR;
@@ -365,8 +370,7 @@ dom_exception _dom_characterdata_delete_data(struct dom_characterdata *cdata,
}
/* Dispatch a DOMCharacterDataModified event */
- struct dom_document *doc = dom_node_get_owner(cdata);
- bool success = true;
+ doc = dom_node_get_owner(cdata);
err = _dom_dispatch_characterdata_modified_event(doc, c, c->value,
temp, &success);
if (err != DOM_NO_ERR)
@@ -403,6 +407,8 @@ dom_exception _dom_characterdata_replace_data(struct dom_characterdata *cdata,
dom_string *temp;
uint32_t len, end;
dom_exception err;
+ struct dom_document *doc;
+ bool success = true;
if (_dom_node_readonly(c)) {
return DOM_NO_MODIFICATION_ALLOWED_ERR;
@@ -430,8 +436,7 @@ dom_exception _dom_characterdata_replace_data(struct dom_characterdata *cdata,
}
/* Dispatch a DOMCharacterDataModified event */
- struct dom_document *doc = dom_node_get_owner(cdata);
- bool success = true;
+ doc = dom_node_get_owner(cdata);
err = _dom_dispatch_characterdata_modified_event(doc, c, c->value, temp,
&success);
if (err != DOM_NO_ERR)
diff --git a/src/core/document.c b/src/core/document.c
index 1a38abe..df5fffa 100644
--- a/src/core/document.c
+++ b/src/core/document.c
@@ -916,6 +916,8 @@ dom_exception _dom_document_adopt_node(dom_document *doc,
{
dom_node_internal *n = (dom_node_internal *) node;
dom_exception err;
+ dom_node_internal *parent;
+ dom_node_internal *tmp;
*result = NULL;
@@ -945,8 +947,7 @@ dom_exception _dom_document_adopt_node(dom_document *doc,
return err;
}
- dom_node_internal *parent = n->parent;
- dom_node_internal *tmp;
+ parent = n->parent;
if (parent != NULL) {
err = dom_node_remove_child(parent, node, (void *) &tmp);
if (err != DOM_NO_ERR) {
@@ -1243,6 +1244,8 @@ dom_exception dom_document_dup_node(dom_document *doc, dom_node *node,
dom_node_internal *n = (dom_node_internal *) node;
dom_node_internal *ret;
dom_exception err;
+ dom_node_internal *child, *r;
+ dom_user_data *ud;
if (opt == DOM_NODE_ADOPTED && _dom_node_readonly(n))
return DOM_NO_MODIFICATION_ALLOWED_ERR;
@@ -1276,7 +1279,6 @@ dom_exception dom_document_dup_node(dom_document *doc, dom_node *node,
return DOM_NOT_SUPPORTED_ERR;
}
- dom_node_internal *child, *r;
if (deep == true) {
child = ((dom_node_internal *) node)->first_child;
while (child != NULL) {
@@ -1300,7 +1302,6 @@ dom_exception dom_document_dup_node(dom_document *doc, dom_node *node,
}
/* Call the dom_user_data_handlers */
- dom_user_data *ud;
ud = n->user_data;
while (ud != NULL) {
if (ud->handler != NULL) {
diff --git a/src/core/element.c b/src/core/element.c
index beb64da..b50ce92 100644
--- a/src/core/element.c
+++ b/src/core/element.c
@@ -1125,14 +1125,15 @@ dom_exception _dom_element_is_default_namespace(dom_node_internal *node,
struct dom_element *ele = (struct dom_element *) node;
dom_string *value;
dom_exception err;
+ bool has;
+ dom_string *xmlns;
if (node->prefix == NULL) {
*result = dom_string_isequal(node->namespace, namespace);
return DOM_NO_ERR;
}
- bool has;
- dom_string *xmlns = _dom_namespace_get_xmlns_prefix();
+ xmlns = _dom_namespace_get_xmlns_prefix();
err = dom_element_has_attribute(ele, xmlns, &has);
if (err != DOM_NO_ERR)
return err;
@@ -1164,6 +1165,8 @@ dom_exception _dom_element_lookup_namespace(dom_node_internal *node,
dom_string *prefix, dom_string **result)
{
dom_exception err;
+ bool has;
+ dom_string *xmlns;
if (node->namespace != NULL &&
dom_string_isequal(node->prefix, prefix)) {
@@ -1171,8 +1174,7 @@ dom_exception _dom_element_lookup_namespace(dom_node_internal *node,
return DOM_NO_ERR;
}
- bool has;
- dom_string *xmlns = _dom_namespace_get_xmlns_prefix();
+ xmlns = _dom_namespace_get_xmlns_prefix();
err = dom_element_has_attribute_ns(node, xmlns, prefix, &has);
if (err != DOM_NO_ERR)
return err;
@@ -1376,6 +1378,8 @@ dom_exception _dom_element_set_attr(struct dom_element *element,
/* No existing attribute, so create one */
struct dom_attr *attr;
struct dom_attr_list *list_node;
+ struct dom_document *doc;
+ bool success = true;
err = _dom_attr_create(e->owner, name, namespace, NULL,
true, &attr);
@@ -1394,8 +1398,7 @@ dom_exception _dom_element_set_attr(struct dom_element *element,
}
/* Dispatch a DOMAttrModified event */
- struct dom_document *doc = dom_node_get_owner(element);
- bool success = true;
+ doc = dom_node_get_owner(element);
err = _dom_dispatch_attr_modified_event(doc, e, NULL, value,
(dom_event_target *) attr, name,
DOM_MUTATION_ADDITION, &success);
@@ -1473,6 +1476,7 @@ dom_exception _dom_element_remove_attr(struct dom_element *element,
bool success = true;
dom_attr *a = match->attr;
struct dom_document *doc = dom_node_get_owner(element);
+ dom_string *old = NULL;
err = dom_node_dispatch_node_change_event(doc, match->attr,
element, DOM_MUTATION_REMOVAL, &success);
@@ -1497,7 +1501,6 @@ dom_exception _dom_element_remove_attr(struct dom_element *element,
/* Dispatch a DOMAttrModified event */
success = true;
- dom_string *old = NULL;
err = dom_attr_get_value(a, &old);
/* TODO: We did not support some node type such as entity
* reference, in that case, we should ignore the error to
@@ -1583,6 +1586,9 @@ dom_exception _dom_element_set_attr_node(struct dom_element *element,
dom_node_internal *e = (dom_node_internal *) element;
dom_node_internal *attr_node = (dom_node_internal *) attr;
dom_attr *old_attr;
+ dom_string *new = NULL;
+ struct dom_document *doc;
+ bool success = true;
/** \todo validate name */
@@ -1608,8 +1614,8 @@ dom_exception _dom_element_set_attr_node(struct dom_element *element,
*result = NULL;
if (match != NULL) {
/* Disptach DOMNodeRemoval event */
- bool success = true;
- struct dom_document *doc = dom_node_get_owner(element);
+ dom_string *old = NULL;
+ doc = dom_node_get_owner(element);
old_attr = match->attr;
err = dom_node_dispatch_node_change_event(doc, old_attr,
@@ -1625,7 +1631,6 @@ dom_exception _dom_element_set_attr_node(struct dom_element *element,
_dom_element_attr_list_node_destroy(match);
/* Dispatch a DOMAttrModified event */
- dom_string *old = NULL;
success = true;
err = dom_attr_get_value(old_attr, &old);
/* TODO: We did not support some node type such as entity
@@ -1669,9 +1674,8 @@ dom_exception _dom_element_set_attr_node(struct dom_element *element,
dom_node_remove_pending(attr);
/* Dispatch a DOMAttrModified event */
- dom_string *new = NULL;
- struct dom_document *doc = dom_node_get_owner(element);
- bool success = true;
+ doc = dom_node_get_owner(element);
+ success = true;
err = dom_attr_get_value(attr, &new);
/* TODO: We did not support some node type such as entity reference, in
* that case, we should ignore the error to make sure the event model
@@ -1732,6 +1736,9 @@ dom_exception _dom_element_remove_attr_node(struct dom_element *element,
dom_string *name;
dom_node_internal *e = (dom_node_internal *) element;
dom_attr *a;
+ bool success = true;
+ struct dom_document *doc;
+ dom_string *old = NULL;
/* Ensure element can be written to */
if (_dom_node_readonly(e))
@@ -1754,8 +1761,7 @@ dom_exception _dom_element_remove_attr_node(struct dom_element *element,
a = match->attr;
/* Dispatch a DOMNodeRemoved event */
- bool success = true;
- struct dom_document *doc = dom_node_get_owner(element);
+ doc = dom_node_get_owner(element);
err = dom_node_dispatch_node_change_event(doc, a, element,
DOM_MUTATION_REMOVAL, &success);
if (err != DOM_NO_ERR) {
@@ -1780,7 +1786,6 @@ dom_exception _dom_element_remove_attr_node(struct dom_element *element,
dom_string_unref(name);
/* Dispatch a DOMAttrModified event */
- dom_string *old = NULL;
success = true;
err = dom_attr_get_value(a, &old);
/* TODO: We did not support some node type such as entity reference, in
@@ -1891,6 +1896,8 @@ dom_exception _dom_element_get_id(struct dom_element *ele, dom_string **id)
{
dom_exception err;
dom_string *ret = NULL;
+ dom_document *doc;
+ dom_string *name;
*id = NULL;
@@ -1906,10 +1913,8 @@ dom_exception _dom_element_get_id(struct dom_element *ele, dom_string **id)
return err;
}
- dom_document *doc;
doc = dom_node_get_owner(ele);
assert(doc != NULL);
- dom_string *name;
if (ele->id_name != NULL) {
name = ele->id_name;
diff --git a/src/core/node.c b/src/core/node.c
index 988ed1d..918c355 100644
--- a/src/core/node.c
+++ b/src/core/node.c
@@ -220,6 +220,8 @@ dom_exception _dom_node_initialise(dom_node_internal *node,
void _dom_node_finalise(dom_node_internal *node)
{
struct dom_user_data *u, *v;
+ struct dom_node_internal *p;
+ struct dom_node_internal *n = NULL;
/* Destroy user data */
for (u = node->user_data; u != NULL; u = v) {
@@ -236,8 +238,7 @@ void _dom_node_finalise(dom_node_internal *node)
dom_string_unref(node->namespace);
/* Destroy all the child nodes of this node */
- struct dom_node_internal *p = node->first_child;
- struct dom_node_internal *n = NULL;
+ p = node->first_child;
while (p != NULL) {
n = p->next;
p->parent = NULL;
@@ -716,6 +717,7 @@ dom_exception _dom_node_insert_before(dom_node_internal *node,
dom_node_internal **result)
{
dom_exception err;
+ dom_node_internal *n;
/* Ensure that new_child and node are owned by the same document */
if ((new_child->type == DOM_DOCUMENT_TYPE_NODE &&
@@ -734,7 +736,7 @@ dom_exception _dom_node_insert_before(dom_node_internal *node,
return DOM_NOT_FOUND_ERR;
/* Ensure that new_child is not an ancestor of node, nor node itself */
- for (dom_node_internal *n = node; n != NULL; n = n->parent) {
+ for (n = node; n != NULL; n = n->parent) {
if (n == new_child)
return DOM_HIERARCHY_REQUEST_ERR;
}
@@ -855,6 +857,8 @@ dom_exception _dom_node_replace_child(dom_node_internal *node,
dom_node_internal *new_child, dom_node_internal *old_child,
dom_node_internal **result)
{
+ dom_node_internal *n;
+
/* We don't support replacement of DocumentType or root Elements */
if (node->type == DOM_DOCUMENT_NODE &&
(new_child->type == DOM_DOCUMENT_TYPE_NODE ||
@@ -874,7 +878,7 @@ dom_exception _dom_node_replace_child(dom_node_internal *node,
return DOM_NOT_FOUND_ERR;
/* Ensure that new_child is not an ancestor of node, nor node itself */
- for (dom_node_internal *n = node; n != NULL; n = n->parent) {
+ for (n = node; n != NULL; n = n->parent) {
if (n == new_child)
return DOM_HIERARCHY_REQUEST_ERR;
}
@@ -951,6 +955,9 @@ dom_exception _dom_node_remove_child(dom_node_internal *node,
dom_node_internal *old_child,
dom_node_internal **result)
{
+ dom_exception err;
+ bool success = true;
+
/* We don't support removal of DocumentType or root Element nodes */
if (node->type == DOM_DOCUMENT_NODE &&
(old_child->type == DOM_DOCUMENT_TYPE_NODE ||
@@ -966,8 +973,6 @@ dom_exception _dom_node_remove_child(dom_node_internal *node,
return DOM_NO_MODIFICATION_ALLOWED_ERR;
/* Dispatch a DOMNodeRemoval event */
- dom_exception err;
- bool success = true;
err = dom_node_dispatch_node_change_event(node->owner, old_child, node,
DOM_MUTATION_REMOVAL, &success);
if (err != DOM_NO_ERR)
@@ -1929,7 +1934,8 @@ bool _dom_node_permitted_child(const dom_node_internal *parent,
/* Ensure that the document doesn't already
* have a root element */
if (child->type == DOM_ELEMENT_NODE) {
- for (dom_node_internal *n = parent->first_child;
+ dom_node_internal *n;
+ for (n = parent->first_child;
n != NULL; n = n->next) {
if (n->type == DOM_ELEMENT_NODE)
valid = false;
@@ -1939,7 +1945,8 @@ bool _dom_node_permitted_child(const dom_node_internal *parent,
/* Ensure that the document doesn't already
* have a document type */
if (child->type == DOM_DOCUMENT_TYPE_NODE) {
- for (dom_node_internal *n = parent->first_child;
+ dom_node_internal *n;
+ for (n = parent->first_child;
n != NULL; n = n->next) {
if (n->type == DOM_DOCUMENT_TYPE_NODE)
valid = false;
@@ -2030,6 +2037,10 @@ dom_exception _dom_node_attach_range(dom_node_internal *first,
dom_node_internal *previous,
dom_node_internal *next)
{
+ dom_exception err;
+ bool success = true;
+ dom_node_internal *n;
+
first->previous = previous;
last->next = next;
@@ -2043,9 +2054,7 @@ dom_exception _dom_node_attach_range(dom_node_internal *first,
else
parent->last_child = last;
- dom_exception err;
- bool success = true;
- for (dom_node_internal *n = first; n != last->next; n = n->next) {
+ for (n = first; n != last->next; n = n->next) {
n->parent = parent;
/* Dispatch a DOMNodeInserted event */
err = dom_node_dispatch_node_change_event(parent->owner,
@@ -2074,6 +2083,10 @@ dom_exception _dom_node_attach_range(dom_node_internal *first,
void _dom_node_detach_range(dom_node_internal *first,
dom_node_internal *last)
{
+ bool success = true;
+ dom_node_internal *parent;
+ dom_node_internal *n;
+
if (first->previous != NULL)
first->previous->next = last->next;
else
@@ -2084,9 +2097,8 @@ void _dom_node_detach_range(dom_node_internal *first,
else
last->parent->last_child = first->previous;
- bool success = true;
- dom_node_internal *parent = first->parent;
- for (dom_node_internal *n = first; n != last->next; n = n->next) {
+ parent = first->parent;
+ for (n = first; n != last->next; n = n->next) {
/* Dispatch a DOMNodeRemoval event */
dom_node_dispatch_node_change_event(n->owner, n, n->parent,
DOM_MUTATION_REMOVAL, &success);
@@ -2116,6 +2128,7 @@ void _dom_node_replace(dom_node_internal *old,
dom_node_internal *replacement)
{
dom_node_internal *first, *last;
+ dom_node_internal *n;
if (replacement->type == DOM_DOCUMENT_FRAGMENT_NODE) {
first = replacement->first_child;
@@ -2140,7 +2153,7 @@ void _dom_node_replace(dom_node_internal *old,
else
old->parent->last_child = last;
- for (dom_node_internal *n = first; n != last->next; n = n->next) {
+ for (n = first; n != last->next; n = n->next) {
n->parent = old->parent;
}
@@ -2157,12 +2170,12 @@ void _dom_node_replace(dom_node_internal *old,
dom_exception _dom_merge_adjacent_text(dom_node_internal *p,
dom_node_internal *n)
{
- assert(p->type = DOM_TEXT_NODE);
- assert(n->type = DOM_TEXT_NODE);
-
dom_string *str;
dom_exception err;
+ assert(p->type = DOM_TEXT_NODE);
+ assert(n->type = DOM_TEXT_NODE);
+
err = dom_text_get_whole_text(n, &str);
if (err != DOM_NO_ERR)
return err;
@@ -2310,6 +2323,12 @@ dom_exception _dom_node_dispatch_event(dom_event_target *et,
struct dom_event *evt, bool *success)
{
dom_exception err, ret = DOM_NO_ERR;
+ dom_event_target_entry list;
+ dom_node_internal *target = (dom_node_internal *) et;
+ dom_document *doc;
+ dom_document_event_internal *dei;
+ void *pw = NULL;
+ struct list_entry *e;
assert(et != NULL);
assert(evt != NULL);
@@ -2328,7 +2347,7 @@ dom_exception _dom_node_dispatch_event(dom_event_target *et,
if (evt->doc == NULL)
return DOM_NOT_SUPPORTED_ERR;
- dom_document *doc = dom_node_get_owner(et);
+ doc = dom_node_get_owner(et);
if (doc == NULL) {
/* TODO: In the progress of parsing, many Nodes in the DTD has
* no document at all, do nothing for this kind of node */
@@ -2339,9 +2358,6 @@ dom_exception _dom_node_dispatch_event(dom_event_target *et,
return DOM_INVALID_CHARACTER_ERR;
}
- dom_event_target_entry list;
- dom_node_internal *target = (dom_node_internal *) et;
-
*success = true;
/* Compose the event target list */
@@ -2368,8 +2384,7 @@ dom_exception _dom_node_dispatch_event(dom_event_target *et,
evt->phase = DOM_CAPTURING_PHASE;
/* The started callback of default action */
- dom_document_event_internal *dei = &doc->dei;
- void *pw = NULL;
+ dei = &doc->dei;
if (dei->actions != NULL) {
dom_default_action_callback cb = dei->actions(evt->type,
DOM_DEFAULT_ACTION_STARTED, &pw);
@@ -2379,7 +2394,7 @@ dom_exception _dom_node_dispatch_event(dom_event_target *et,
}
/* The capture phase */
- struct list_entry *e = list.entry.prev;
+ e = list.entry.prev;
for (; e != &list.entry; e = e->prev) {
dom_event_target_entry *l = (dom_event_target_entry *) e;
dom_node_internal *node = (dom_node_internal *) l->et;
diff --git a/src/core/text.c b/src/core/text.c
index 58f2c41..1a5adaa 100644
--- a/src/core/text.c
+++ b/src/core/text.c
@@ -350,6 +350,10 @@ dom_exception walk_logic_adjacent_text_in_order(
dom_node_internal *node, walk_operation opt,
walk_order order, dom_string **ret, bool *cont)
{
+ dom_exception err;
+ dom_string *data, *tmp;
+ dom_node_internal *parent;
+
/* If we reach the leaf of the DOM tree, just return to continue
* to next sibling of our parent */
if (node == NULL) {
@@ -357,11 +361,11 @@ dom_exception walk_logic_adjacent_text_in_order(
return DOM_NO_ERR;
}
- dom_exception err;
- dom_string *data, *tmp;
- dom_node_internal *parent = dom_node_get_parent(node);
+ parent = dom_node_get_parent(node);
while (node != NULL) {
+ dom_node_internal *p;
+
/* If we reach the boundary of logical-adjacent text, we stop */
if (node->type == DOM_ELEMENT_NODE ||
node->type == DOM_COMMENT_NODE ||
@@ -411,7 +415,7 @@ dom_exception walk_logic_adjacent_text_in_order(
}
}
- dom_node_internal *p = dom_node_get_parent(node);
+ p = dom_node_get_parent(node);
if (order == LEFT) {
if (node->last_child != NULL) {
node = node->last_child;
diff --git a/src/events/document_event.c b/src/events/document_event.c
index 0a14988..0546364 100644
--- a/src/events/document_event.c
+++ b/src/events/document_event.c
@@ -103,6 +103,8 @@ dom_exception _dom_document_event_create_event(dom_document_event *de,
lwc_string *t = NULL;
dom_exception err;
struct dom_document *doc = de;
+ int i, et = 0;
+ dom_document_event_internal *dei;
err = dom_string_intern(type, &t);
if (err != DOM_NO_ERR)
@@ -110,8 +112,7 @@ dom_exception _dom_document_event_create_event(dom_document_event *de,
assert(t != NULL);
- int i, et = 0;
- dom_document_event_internal *dei = &de->dei;
+ dei = &de->dei;
for (i = 0; i < DOM_EVENT_COUNT; i++) {
if (dei->event_types[i] == t) {
et = i;
diff --git a/src/events/keyboard_event.c b/src/events/keyboard_event.c
index 3b065e0..76f32ba 100644
--- a/src/events/keyboard_event.c
+++ b/src/events/keyboard_event.c
@@ -172,13 +172,16 @@ dom_exception _dom_keyboard_event_get_meta_key(dom_keyboard_event *evt,
dom_exception _dom_keyboard_event_get_modifier_state(dom_keyboard_event *evt,
dom_string *m, bool *state)
{
+ const char *data;
+ size_t len;
+
if (m == NULL) {
*state = false;
return DOM_NO_ERR;
}
- const char *data = dom_string_data(m);
- size_t len = dom_string_byte_length(m);
+ data = dom_string_data(m);
+ len = dom_string_byte_length(m);
if (len == SLEN("AltGraph") && strncmp(data, "AltGraph", len) == 0) {
*state = ((evt->modifier_state & DOM_MOD_ALT_GRAPH) != 0);
@@ -286,14 +289,17 @@ dom_exception _dom_keyboard_event_init_ns(dom_keyboard_event *evt,
dom_exception _dom_parse_modifier_list(dom_string *modifier_list,
uint32_t *modifier_state)
{
+ const char *data;
+ const char *m;
+ size_t len = 0;
+
*modifier_state = 0;
if (modifier_list == NULL)
return DOM_NO_ERR;
- const char *data = dom_string_data(modifier_list);
- const char *m = data;
- size_t len = 0;
+ data = dom_string_data(modifier_list);
+ m = data;
while (true) {
/* If we reach a space or end of the string, we should parse
diff --git a/src/events/mouse_event.c b/src/events/mouse_event.c
index 68e21bc..a2a97bb 100644
--- a/src/events/mouse_event.c
+++ b/src/events/mouse_event.c
@@ -224,13 +224,16 @@ dom_exception _dom_mouse_event_get_related_target(dom_mouse_event *evt,
dom_exception _dom_mouse_event_get_modifier_state(dom_mouse_event *evt,
dom_string *m, bool *state)
{
+ const char *data;
+ size_t len;
+
if (m == NULL) {
*state = false;
return DOM_NO_ERR;
}
- const char *data = dom_string_data(m);
- size_t len = dom_string_byte_length(m);
+ data = dom_string_data(m);
+ len = dom_string_byte_length(m);
if (len == SLEN("AltGraph") && strncmp(data, "AltGraph", len) == 0) {
*state = ((evt->modifier_state & DOM_MOD_ALT_GRAPH) != 0);
diff --git a/src/events/mouse_multi_wheel_event.c b/src/events/mouse_multi_wheel_event.c
index 2923a4c..8c4615b 100644
--- a/src/events/mouse_multi_wheel_event.c
+++ b/src/events/mouse_multi_wheel_event.c
@@ -136,12 +136,12 @@ dom_exception _dom_mouse_multi_wheel_event_init_ns(
long wheel_delta_y, long wheel_delta_z)
{
dom_exception err;
+ dom_mouse_event *e = (dom_mouse_event *) evt;
+
evt->x = wheel_delta_x;
evt->y = wheel_delta_y;
evt->z = wheel_delta_z;
- dom_mouse_event *e = (dom_mouse_event *) evt;
-
err = _dom_parse_modifier_list(modifier_list, &e->modifier_state);
if (err != DOM_NO_ERR)
return err;
diff --git a/src/events/mouse_wheel_event.c b/src/events/mouse_wheel_event.c
index acc65cf..cce4fac 100644
--- a/src/events/mouse_wheel_event.c
+++ b/src/events/mouse_wheel_event.c
@@ -101,8 +101,8 @@ dom_exception _dom_mouse_wheel_event_init_ns(
dom_string *modifier_list, long wheel_delta)
{
dom_exception err;
- evt->delta = wheel_delta;
dom_mouse_event *e = (dom_mouse_event *) evt;
+ evt->delta = wheel_delta;
err = _dom_parse_modifier_list(modifier_list, &e->modifier_state);
if (err != DOM_NO_ERR)
diff --git a/src/html/html_base_element.c b/src/html/html_base_element.c
index 4c51d12..6806569 100644
--- a/src/html/html_base_element.c
+++ b/src/html/html_base_element.c
@@ -29,12 +29,14 @@ static struct dom_element_protected_vtable _protect_vtable = {
dom_exception _dom_html_base_element_create(struct dom_html_document *doc,
struct dom_html_base_element **ele)
{
+ struct dom_node_internal *node;
+
*ele = malloc(sizeof(dom_html_base_element));
if (*ele == NULL)
return DOM_NO_MEM_ERR;
/* Set up vtables */
- struct dom_node_internal *node = (struct dom_node_internal *) *ele;
+ node = (struct dom_node_internal *) *ele;
node->base.vtable = &_dom_element_vtable;
node->vtable = &_protect_vtable;
diff --git a/src/html/html_body_element.c b/src/html/html_body_element.c
index e1a6751..8c790b4 100644
--- a/src/html/html_body_element.c
+++ b/src/html/html_body_element.c
@@ -29,12 +29,14 @@ static struct dom_element_protected_vtable _protect_vtable = {
dom_exception _dom_html_body_element_create(struct dom_html_document *doc,
struct dom_html_body_element **ele)
{
+ struct dom_node_internal *node;
+
*ele = malloc(sizeof(dom_html_body_element));
if (*ele == NULL)
return DOM_NO_MEM_ERR;
/* Set up vtables */
- struct dom_node_internal *node = (struct dom_node_internal *) *ele;
+ node = (struct dom_node_internal *) *ele;
node->base.vtable = &_dom_element_vtable;
node->vtable = &_protect_vtable;
diff --git a/src/html/html_form_element.c b/src/html/html_form_element.c
index 20a9cac..b24a08e 100644
--- a/src/html/html_form_element.c
+++ b/src/html/html_form_element.c
@@ -35,12 +35,14 @@ static bool _dom_is_form_control(struct dom_node_internal *node);
dom_exception _dom_html_form_element_create(struct dom_html_document *doc,
struct dom_html_form_element **ele)
{
+ struct dom_node_internal *node;
+
*ele = malloc(sizeof(dom_html_form_element));
if (*ele == NULL)
return DOM_NO_MEM_ERR;
/* Set up vtables */
- struct dom_node_internal *node = (struct dom_node_internal *) *ele;
+ node = (struct dom_node_internal *) *ele;
node->base.vtable = &_dom_element_vtable;
node->vtable = &_protect_vtable;
diff --git a/src/html/html_head_element.c b/src/html/html_head_element.c
index e3e23bd..d74b8d1 100644
--- a/src/html/html_head_element.c
+++ b/src/html/html_head_element.c
@@ -29,12 +29,14 @@ static struct dom_element_protected_vtable _protect_vtable = {
dom_exception _dom_html_head_element_create(struct dom_html_document *doc,
struct dom_html_head_element **ele)
{
+ struct dom_node_internal *node;
+
*ele = malloc(sizeof(dom_html_head_element));
if (*ele == NULL)
return DOM_NO_MEM_ERR;
/* Set up vtables */
- struct dom_node_internal *node = (struct dom_node_internal *) *ele;
+ node = (struct dom_node_internal *) *ele;
node->base.vtable = &_dom_element_vtable;
node->vtable = &_protect_vtable;
diff --git a/src/html/html_html_element.c b/src/html/html_html_element.c
index cb0682c..1bdf590 100644
--- a/src/html/html_html_element.c
+++ b/src/html/html_html_element.c
@@ -29,12 +29,14 @@ static struct dom_element_protected_vtable _protect_vtable = {
dom_exception _dom_html_html_element_create(struct dom_html_document *doc,
struct dom_html_html_element **ele)
{
+ struct dom_node_internal *node;
+
*ele = malloc(sizeof(dom_html_html_element));
if (*ele == NULL)
return DOM_NO_MEM_ERR;
/* Set up vtables */
- struct dom_node_internal *node = (struct dom_node_internal *) *ele;
+ node = (struct dom_node_internal *) *ele;
node->base.vtable = &_dom_element_vtable;
node->vtable = &_protect_vtable;
diff --git a/src/html/html_isindex_element.c b/src/html/html_isindex_element.c
index 48991a9..7370e42 100644
--- a/src/html/html_isindex_element.c
+++ b/src/html/html_isindex_element.c
@@ -31,12 +31,14 @@ dom_exception _dom_html_isindex_element_create(struct dom_html_document *doc,
struct dom_html_form_element *form,
struct dom_html_isindex_element **ele)
{
+ struct dom_node_internal *node;
+
*ele = malloc(sizeof(dom_html_isindex_element));
if (*ele == NULL)
return DOM_NO_MEM_ERR;
/* Set up vtables */
- struct dom_node_internal *node = (struct dom_node_internal *) *ele;
+ node = (struct dom_node_internal *) *ele;
node->base.vtable = &_dom_element_vtable;
node->vtable = &_protect_vtable;
diff --git a/src/html/html_link_element.c b/src/html/html_link_element.c
index eb826ce..92ca4f5 100644
--- a/src/html/html_link_element.c
+++ b/src/html/html_link_element.c
@@ -31,12 +31,14 @@ static struct dom_element_protected_vtable _protect_vtable = {
dom_exception _dom_html_link_element_create(struct dom_html_document *doc,
struct dom_html_link_element **ele)
{
+ struct dom_node_internal *node;
+
*ele = malloc(sizeof(dom_html_link_element));
if (*ele == NULL)
return DOM_NO_MEM_ERR;
/* Set up vtables */
- struct dom_node_internal *node = (struct dom_node_internal *) *ele;
+ node = (struct dom_node_internal *) *ele;
node->base.vtable = &_dom_element_vtable;
node->vtable = &_protect_vtable;
diff --git a/src/html/html_meta_element.c b/src/html/html_meta_element.c
index 646ca48..f1b6c3f 100644
--- a/src/html/html_meta_element.c
+++ b/src/html/html_meta_element.c
@@ -29,12 +29,14 @@ static struct dom_element_protected_vtable _protect_vtable = {
dom_exception _dom_html_meta_element_create(struct dom_html_document *doc,
struct dom_html_meta_element **ele)
{
+ struct dom_node_internal *node;
+
*ele = malloc(sizeof(dom_html_meta_element));
if (*ele == NULL)
return DOM_NO_MEM_ERR;
/* Set up vtables */
- struct dom_node_internal *node = (struct dom_node_internal *) *ele;
+ node = (struct dom_node_internal *) *ele;
node->base.vtable = &_dom_element_vtable;
node->vtable = &_protect_vtable;
diff --git a/src/html/html_select_element.c b/src/html/html_select_element.c
index b04f85b..6a05edd 100644
--- a/src/html/html_select_element.c
+++ b/src/html/html_select_element.c
@@ -33,12 +33,14 @@ static bool is_option(struct dom_node_internal *node);
dom_exception _dom_html_select_element_create(struct dom_html_document *doc,
struct dom_html_select_element **ele)
{
+ struct dom_node_internal *node;
+
*ele = malloc(sizeof(dom_html_select_element));
if (*ele == NULL)
return DOM_NO_MEM_ERR;
/* Set up vtables */
- struct dom_node_internal *node = (struct dom_node_internal *) *ele;
+ node = (struct dom_node_internal *) *ele;
node->base.vtable = &_dom_element_vtable;
node->vtable = &_protect_vtable;
diff --git a/src/html/html_style_element.c b/src/html/html_style_element.c
index 1867742..0115177 100644
--- a/src/html/html_style_element.c
+++ b/src/html/html_style_element.c
@@ -29,12 +29,14 @@ static struct dom_element_protected_vtable _protect_vtable = {
dom_exception _dom_html_style_element_create(struct dom_html_document *doc,
struct dom_html_style_element **ele)
{
+ struct dom_node_internal *node;
+
*ele = malloc(sizeof(dom_html_style_element));
if (*ele == NULL)
return DOM_NO_MEM_ERR;
/* Set up vtables */
- struct dom_node_internal *node = (struct dom_node_internal *) *ele;
+ node = (struct dom_node_internal *) *ele;
node->base.vtable = &_dom_element_vtable;
node->vtable = &_protect_vtable;
diff --git a/src/html/html_title_element.c b/src/html/html_title_element.c
index d698b6d..ea4d24c 100644
--- a/src/html/html_title_element.c
+++ b/src/html/html_title_element.c
@@ -33,12 +33,14 @@ static struct dom_element_protected_vtable _protect_vtable = {
dom_exception _dom_html_title_element_create(struct dom_html_document *doc,
struct dom_html_title_element **ele)
{
+ struct dom_node_internal *node;
+
*ele = malloc(sizeof(dom_html_title_element));
if (*ele == NULL)
return DOM_NO_MEM_ERR;
/* Set up vtables */
- struct dom_node_internal *node = (struct dom_node_internal *) *ele;
+ node = (struct dom_node_internal *) *ele;
node->base.vtable = &_dom_element_vtable;
node->vtable = &_protect_vtable;