From 0a5f955c7c23dfffe98ae8421c14418845c8bcb9 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Sun, 23 Sep 2007 00:57:49 +0000 Subject: Fix dom_node_{get,set}_value() to handle Attr nodes correctly -- now delegates value accesses to the Attr-specific functions. svn path=/trunk/dom/; revision=3581 --- src/core/node.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/core/node.c b/src/core/node.c index 3a8af63..e8ebc34 100644 --- a/src/core/node.c +++ b/src/core/node.c @@ -8,6 +8,7 @@ #include #include +#include #include #include @@ -312,6 +313,10 @@ dom_exception dom_node_get_node_name(struct dom_node *node, dom_exception dom_node_get_node_value(struct dom_node *node, struct dom_string **result) { + if (node->type == DOM_ATTRIBUTE_NODE) { + return dom_attr_get_value((struct dom_attr *) node, result); + } + if (node->value != NULL) dom_string_ref(node->value); @@ -351,6 +356,11 @@ dom_exception dom_node_set_node_value(struct dom_node *node, if (_dom_node_readonly(node)) return DOM_NO_MODIFICATION_ALLOWED_ERR; + /* If it's an attribute node, then delegate setting to + * the type-specific function */ + if (node->type == DOM_ATTRIBUTE_NODE) + return dom_attr_set_value((struct dom_attr *) node, value); + if (node->value != NULL) dom_string_unref(node->value); -- cgit v1.2.3