diff options
author | Andrew Sidwell <andy@entai.co.uk> | 2008-06-25 11:41:33 +0000 |
---|---|---|
committer | Andrew Sidwell <andy@entai.co.uk> | 2008-06-25 11:41:33 +0000 |
commit | 97352e4f29d505545e547af868f5851345d4140c (patch) | |
tree | bf1c1415d894efdf01712e9c70f5c9c0b1f2ba88 /src | |
parent | 6ce05dca28507467ad92302dad9373dc4e82fd92 (diff) | |
download | libhubbub-97352e4f29d505545e547af868f5851345d4140c.tar.gz libhubbub-97352e4f29d505545e547af868f5851345d4140c.tar.bz2 |
Add a utility current_node() function which returns the current node.
svn path=/trunk/hubbub/; revision=4445
Diffstat (limited to 'src')
-rw-r--r-- | src/treebuilder/internal.h | 1 | ||||
-rw-r--r-- | src/treebuilder/treebuilder.c | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/treebuilder/internal.h b/src/treebuilder/internal.h index a4eed84..184dd61 100644 --- a/src/treebuilder/internal.h +++ b/src/treebuilder/internal.h @@ -141,6 +141,7 @@ bool element_stack_push(hubbub_treebuilder *treebuilder, element_type type, void *node); bool element_stack_pop(hubbub_treebuilder *treebuilder, element_type *type, void **node); +element_type current_node(hubbub_treebuilder *treebuilder); bool formatting_list_append(hubbub_treebuilder *treebuilder, element_type type, void *node, uint32_t stack_index); diff --git a/src/treebuilder/treebuilder.c b/src/treebuilder/treebuilder.c index f6270c1..e29ecab 100644 --- a/src/treebuilder/treebuilder.c +++ b/src/treebuilder/treebuilder.c @@ -1101,6 +1101,20 @@ bool element_stack_pop(hubbub_treebuilder *treebuilder, } /** + * Peek at the top element of the element stack. + * + * \param treebuilder Treebuilder instance + * \return Element type on the top of the stack + */ +element_type current_node(hubbub_treebuilder *treebuilder) +{ + return treebuilder->context.element_stack + [treebuilder->context.current_node].type; +} + + + +/** * Append an element to the end of the list of active formatting elements * * \param treebuilder Treebuilder instance containing list |