summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/treebuilder/internal.h1
-rw-r--r--src/treebuilder/treebuilder.c14
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