diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/html/html_element.c | 63 |
1 files changed, 30 insertions, 33 deletions
diff --git a/src/html/html_element.c b/src/html/html_element.c index 555e4fb..6719f2e 100644 --- a/src/html/html_element.c +++ b/src/html/html_element.c @@ -103,41 +103,38 @@ dom_exception _dom_html_element_copy(dom_node_internal *old, /*-----------------------------------------------------------------------*/ /* API functions */ -dom_exception _dom_html_element_get_id(dom_html_element *element, - dom_string **id) -{ - dom_exception ret; - dom_string *_memo_id; - - /* Because we're an HTML element, our document is always - * an HTML document, so we can get its memoised id string - */ - _memo_id = - ((struct dom_html_document *) - ((struct dom_node_internal *)element)->owner)->_memo_id; - - ret = dom_element_get_attribute(element, _memo_id, id); - - return ret; +#define SIMPLE_GET_SET(attr) \ +dom_exception _dom_html_element_get_##attr(dom_html_element *element, \ + dom_string **attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->_memo_##attr; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} \ + \ +dom_exception _dom_html_element_set_##attr(dom_html_element *element, \ + dom_string *attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->_memo_##attr; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ } -dom_exception _dom_html_element_set_id(dom_html_element *element, - dom_string *id) -{ - dom_exception ret; - dom_string *_memo_id; - - /* Because we're an HTML element, our document is always - * an HTML document, so we can get its memoised id string - */ - _memo_id = - ((struct dom_html_document *) - ((struct dom_node_internal *)element)->owner)->_memo_id; - - ret = dom_element_set_attribute(element, _memo_id, id); - - return ret; -} +SIMPLE_GET_SET(id) dom_exception _dom_html_element_get_title(dom_html_element *element, dom_string **title) |