diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/document.c | 8 | ||||
-rw-r--r-- | src/core/document.h | 4 | ||||
-rw-r--r-- | src/core/element.c | 14 | ||||
-rw-r--r-- | src/core/element.h | 3 | ||||
-rw-r--r-- | src/core/namednodemap.c | 43 | ||||
-rw-r--r-- | src/core/namednodemap.h | 4 | ||||
-rw-r--r-- | src/core/nodelist.c | 8 | ||||
-rw-r--r-- | src/core/nodelist.h | 8 |
8 files changed, 49 insertions, 43 deletions
diff --git a/src/core/document.c b/src/core/document.c index 8cfcfd0..355d7f8 100644 --- a/src/core/document.c +++ b/src/core/document.c @@ -510,7 +510,7 @@ dom_exception _dom_document_create_entity_reference(struct dom_document *doc, dom_exception _dom_document_get_elements_by_tag_name(struct dom_document *doc, struct dom_string *tagname, struct dom_nodelist **result) { - return dom_document_get_nodelist(doc, (struct dom_node *) doc, + return dom_document_get_nodelist(doc, (struct dom_node_internal *) doc, tagname, NULL, NULL, result); } @@ -679,7 +679,7 @@ dom_exception _dom_document_get_elements_by_tag_name_ns( struct dom_document *doc, struct dom_string *namespace, struct dom_string *localname, struct dom_nodelist **result) { - return dom_document_get_nodelist(doc, (struct dom_node *) doc, + return dom_document_get_nodelist(doc, (struct dom_node_internal *) doc, NULL, namespace, localname, result); } @@ -1049,7 +1049,7 @@ void *dom_document_alloc(struct dom_document *doc, void *ptr, size_t size) * finished with it. */ dom_exception dom_document_get_nodelist(struct dom_document *doc, - struct dom_node *root, struct dom_string *tagname, + struct dom_node_internal *root, struct dom_string *tagname, struct dom_string *namespace, struct dom_string *localname, struct dom_nodelist **list) { @@ -1148,7 +1148,7 @@ void dom_document_remove_nodelist(struct dom_document *doc, * finished with it. */ dom_exception dom_document_get_namednodemap(struct dom_document *doc, - struct dom_node *head, dom_node_type type, + struct dom_node_internal *head, dom_node_type type, struct dom_namednodemap **map) { struct dom_doc_nnm *m; diff --git a/src/core/document.h b/src/core/document.h index 874bc22..f05b9e0 100644 --- a/src/core/document.h +++ b/src/core/document.h @@ -171,7 +171,7 @@ void *dom_document_alloc(struct dom_document *doc, void *ptr, size_t size); /* Get a nodelist, creating one if necessary */ dom_exception dom_document_get_nodelist(struct dom_document *doc, - struct dom_node *root, struct dom_string *tagname, + struct dom_node_internal *root, struct dom_string *tagname, struct dom_string *namespace, struct dom_string *localname, struct dom_nodelist **list); /* Remove a nodelist */ @@ -180,7 +180,7 @@ void dom_document_remove_nodelist(struct dom_document *doc, /* Get a namednodemap, creating one if necessary */ dom_exception dom_document_get_namednodemap(struct dom_document *doc, - struct dom_node *head, dom_node_type type, + struct dom_node_internal *head, dom_node_type type, struct dom_namednodemap **map); /* Remove a namednodemap */ void dom_document_remove_namednodemap(struct dom_document *doc, diff --git a/src/core/element.c b/src/core/element.c index 98feb18..80d547e 100644 --- a/src/core/element.c +++ b/src/core/element.c @@ -548,7 +548,8 @@ dom_exception _dom_element_get_elements_by_tag_name( struct dom_nodelist **result) { return dom_document_get_nodelist(element->base.owner, - (struct dom_node *) element, name, NULL, NULL, result); + (struct dom_node_internal *) element, name, NULL, + NULL, result); } /** @@ -955,7 +956,7 @@ dom_exception _dom_element_get_elements_by_tag_name_ns( /** \todo ensure XML feature is supported */ return dom_document_get_nodelist(element->base.owner, - (struct dom_node *) element, NULL, + (struct dom_node_internal *) element, NULL, namespace, localname, result); } @@ -1125,8 +1126,8 @@ dom_exception dom_element_get_attributes(struct dom_element *element, struct dom_namednodemap **result) { return dom_document_get_namednodemap(element->base.owner, - (struct dom_node *) element, DOM_ATTRIBUTE_NODE, - result); + (struct dom_node_internal *) element, + DOM_ATTRIBUTE_NODE, result); } /** @@ -1150,8 +1151,9 @@ dom_exception dom_element_has_attributes(struct dom_element *element, * \param element The element to retrieve the first attribute from * \return Pointer to first attribute, or NULL if none. */ -struct dom_node *dom_element_get_first_attribute(struct dom_element *element) +struct dom_node_internal *dom_element_get_first_attribute( + struct dom_element *element) { - return (struct dom_node *) element->attributes; + return (struct dom_node_internal *) element->attributes; } diff --git a/src/core/element.h b/src/core/element.h index 5b3d26c..a05b8c0 100644 --- a/src/core/element.h +++ b/src/core/element.h @@ -50,7 +50,8 @@ dom_exception dom_element_get_attributes(struct dom_element *element, dom_exception dom_element_has_attributes(struct dom_element *element, bool *result); -struct dom_node *dom_element_get_first_attribute(struct dom_element *element); +struct dom_node_internal *dom_element_get_first_attribute( + struct dom_element *element); /* The virtual functions of dom_element */ dom_exception _dom_element_get_tag_name(struct dom_element *element, diff --git a/src/core/namednodemap.c b/src/core/namednodemap.c index 939ef46..98fa5f9 100644 --- a/src/core/namednodemap.c +++ b/src/core/namednodemap.c @@ -22,7 +22,7 @@ struct dom_namednodemap { struct dom_document *owner; /**< Owning document */ - struct dom_node *head; /**< Start of item list */ + struct dom_node_internal *head; /**< Start of item list */ dom_node_type type; /**< Type of items in map */ @@ -50,7 +50,7 @@ struct dom_namednodemap { * finished with it. */ dom_exception dom_namednodemap_create(struct dom_document *doc, - struct dom_node *head, dom_node_type type, + struct dom_node_internal *head, dom_node_type type, struct dom_namednodemap **map) { struct dom_namednodemap *m; @@ -95,7 +95,8 @@ void dom_namednodemap_ref(struct dom_namednodemap *map) void dom_namednodemap_unref(struct dom_namednodemap *map) { if (--map->refcnt == 0) { - struct dom_node *owner = (struct dom_node *) map->owner; + struct dom_node_internal *owner = + (struct dom_node_internal *) map->owner; dom_node_unref(map->head); @@ -122,7 +123,7 @@ void dom_namednodemap_unref(struct dom_namednodemap *map) dom_exception dom_namednodemap_get_length(struct dom_namednodemap *map, unsigned long *length) { - struct dom_node *cur; + struct dom_node_internal *cur; unsigned long len = 0; switch (map->type) { @@ -161,7 +162,7 @@ dom_exception dom_namednodemap_get_length(struct dom_namednodemap *map, dom_exception dom_namednodemap_get_named_item(struct dom_namednodemap *map, struct dom_string *name, struct dom_node **node) { - struct dom_node *cur; + struct dom_node_internal *cur; switch (map->type) { case DOM_ATTRIBUTE_NODE: @@ -185,7 +186,7 @@ dom_exception dom_namednodemap_get_named_item(struct dom_namednodemap *map, if (cur != NULL) { dom_node_ref(cur); } - *node = cur; + *node = (struct dom_node *) cur; return DOM_NO_ERR; } @@ -218,9 +219,10 @@ dom_exception dom_namednodemap_set_named_item(struct dom_namednodemap *map, struct dom_node *arg, struct dom_node **node) { dom_exception err; + struct dom_node_internal *n = (struct dom_node_internal *) arg; /* Ensure arg and map belong to the same document */ - if (arg->owner != map->owner) + if (n->owner != map->owner) return DOM_WRONG_DOCUMENT_ERR; /* Ensure map is writable */ @@ -228,12 +230,12 @@ dom_exception dom_namednodemap_set_named_item(struct dom_namednodemap *map, return DOM_NO_MODIFICATION_ALLOWED_ERR; /* Ensure arg isn't attached to another element */ - if (arg->type == DOM_ATTRIBUTE_NODE && arg->parent != NULL && - arg->parent != map->head) + if (n->type == DOM_ATTRIBUTE_NODE && n->parent != NULL && + n->parent != map->head) return DOM_INUSE_ATTRIBUTE_ERR; /* Ensure arg is permitted in the map */ - if (arg->type != map->type) + if (n->type != map->type) return DOM_HIERARCHY_REQUEST_ERR; /* Now delegate to the container-specific function. @@ -333,7 +335,7 @@ dom_exception dom_namednodemap_remove_named_item( dom_exception dom_namednodemap_item(struct dom_namednodemap *map, unsigned long index, struct dom_node **node) { - struct dom_node *cur; + struct dom_node_internal *cur; unsigned long count = 0; switch (map->type) { @@ -360,7 +362,7 @@ dom_exception dom_namednodemap_item(struct dom_namednodemap *map, if (cur != NULL) { dom_node_ref(cur); } - *node = cur; + *node = (struct dom_node *) cur; return DOM_NO_ERR; } @@ -385,7 +387,7 @@ dom_exception dom_namednodemap_get_named_item_ns( struct dom_namednodemap *map, struct dom_string *namespace, struct dom_string *localname, struct dom_node **node) { - struct dom_node *cur; + struct dom_node_internal *cur; /** \todo ensure XML feature is supported */ @@ -414,7 +416,7 @@ dom_exception dom_namednodemap_get_named_item_ns( if (cur != NULL) { dom_node_ref(cur); } - *node = cur; + *node = (struct dom_node *) cur; return DOM_NO_ERR; } @@ -453,11 +455,12 @@ dom_exception dom_namednodemap_set_named_item_ns( struct dom_node **node) { dom_exception err; + struct dom_node_internal *n = (struct dom_node_internal *) arg; /** \todo ensure XML feature is supported */ /* Ensure arg and map belong to the same document */ - if (arg->owner != map->owner) + if (n->owner != map->owner) return DOM_WRONG_DOCUMENT_ERR; /* Ensure map is writable */ @@ -465,12 +468,12 @@ dom_exception dom_namednodemap_set_named_item_ns( return DOM_NO_MODIFICATION_ALLOWED_ERR; /* Ensure arg isn't attached to another element */ - if (arg->type == DOM_ATTRIBUTE_NODE && arg->parent != NULL && - arg->parent != map->head) + if (n->type == DOM_ATTRIBUTE_NODE && n->parent != NULL && + n->parent != map->head) return DOM_INUSE_ATTRIBUTE_ERR; /* Ensure arg is permitted in the map */ - if (arg->type != map->type) + if (n->type != map->type) return DOM_HIERARCHY_REQUEST_ERR; /* Now delegate to the container-specific function. @@ -547,7 +550,7 @@ dom_exception dom_namednodemap_remove_named_item_ns( } } break; - case DOM_NOTATION_NODE: +case DOM_NOTATION_NODE: case DOM_ENTITY_NODE: /** \todo handle notation and entity nodes */ default: @@ -569,7 +572,7 @@ dom_exception dom_namednodemap_remove_named_item_ns( * \return true if list matches, false otherwise */ bool dom_namednodemap_match(struct dom_namednodemap *map, - struct dom_node *head, dom_node_type type) + struct dom_node_internal *head, dom_node_type type) { if (map->head == head && map->type == type) return true; diff --git a/src/core/namednodemap.h b/src/core/namednodemap.h index 99b1a35..830ab6d 100644 --- a/src/core/namednodemap.h +++ b/src/core/namednodemap.h @@ -20,12 +20,12 @@ struct dom_string; /* Create a namednodemap */ dom_exception dom_namednodemap_create(struct dom_document *doc, - struct dom_node *head, dom_node_type type, + struct dom_node_internal *head, dom_node_type type, struct dom_namednodemap **map); /* Match a namednodemap instance against a set of creation parameters */ bool dom_namednodemap_match(struct dom_namednodemap *map, - struct dom_node *head, dom_node_type type); + struct dom_node_internal *head, dom_node_type type); #endif diff --git a/src/core/nodelist.c b/src/core/nodelist.c index 4377426..bcb634a 100644 --- a/src/core/nodelist.c +++ b/src/core/nodelist.c @@ -66,7 +66,7 @@ struct dom_nodelist { * do so explicitly. The client must unref the list once finished with it. */ dom_exception dom_nodelist_create(struct dom_document *doc, - struct dom_node *root, struct dom_string *tagname, + struct dom_node_internal *root, struct dom_string *tagname, struct dom_string *namespace, struct dom_string *localname, struct dom_nodelist **list) { @@ -316,9 +316,9 @@ dom_exception dom_nodelist_item(struct dom_nodelist *list, * \param localname Local part of nodes in list (or NULL) * \return true if list matches, false otherwise */ -bool dom_nodelist_match(struct dom_nodelist *list, struct dom_node *root, - struct dom_string *tagname, struct dom_string *namespace, - struct dom_string *localname) +bool dom_nodelist_match(struct dom_nodelist *list, + struct dom_node_internal *root, struct dom_string *tagname, + struct dom_string *namespace, struct dom_string *localname) { if (list->root != root) return false; diff --git a/src/core/nodelist.h b/src/core/nodelist.h index e80c0ba..9629d03 100644 --- a/src/core/nodelist.h +++ b/src/core/nodelist.h @@ -19,13 +19,13 @@ struct dom_string; /* Create a nodelist */ dom_exception dom_nodelist_create(struct dom_document *doc, - struct dom_node *root, struct dom_string *tagname, + struct dom_node_internal *root, struct dom_string *tagname, struct dom_string *namespace, struct dom_string *localname, struct dom_nodelist **list); /* Match a nodelist instance against a set of nodelist creation parameters */ -bool dom_nodelist_match(struct dom_nodelist *list, struct dom_node *root, - struct dom_string *tagname, struct dom_string *namespace, - struct dom_string *localname); +bool dom_nodelist_match(struct dom_nodelist *list, + struct dom_node_internal *root, struct dom_string *tagname, + struct dom_string *namespace, struct dom_string *localname); #endif |