static bool save_complete_handle_attrs(save_complete_ctx *ctx, dom_string *node_name, dom_namednodemap *attrs) { uint32_t length, i; dom_exception error; error = dom_namednodemap_get_length(attrs, &length); if (error != DOM_NO_ERR) return false; for (i = 0; i < length; i++) { dom_attr *attr; error = dom_namednodemap_item(attrs, i, (void *) &attr); if (error != DOM_NO_ERR) return false; if (attr == NULL) continue; if (save_complete_handle_attr(ctx, node_name, attr) == false) { dom_node_unref(attr); return false; } dom_node_unref(attr); } return true; }
bool _get_next_domnamednodemap(dom_namednodemap *map, unsigned int *iterator, dom_node **ret) { dom_exception err; unsigned long len; err = dom_namednodemap_get_length(map, &len); if (err != DOM_NO_ERR) return false; if (*iterator >= len) return false; err = dom_namednodemap_item(map, (*iterator), ret); if (err != DOM_NO_ERR) return false; (*iterator)++; return true; }