@@ -67,6 +67,11 @@ int cil_stack_is_empty(struct cil_stack *stack)
return (stack->pos == -1);
}
+int cil_stack_number_of_items(struct cil_stack *stack)
+{
+ return stack->pos + 1;
+}
+
void cil_stack_push(struct cil_stack *stack, enum cil_flavor flavor, void *data)
{
stack->pos++;
@@ -52,6 +52,7 @@ void cil_stack_destroy(struct cil_stack **stack);
void cil_stack_empty(struct cil_stack *stack);
int cil_stack_is_empty(struct cil_stack *stack);
+int cil_stack_number_of_items(struct cil_stack *stack);
void cil_stack_push(struct cil_stack *stack, enum cil_flavor flavor, void *data);
struct cil_stack_item *cil_stack_pop(struct cil_stack *stack);
Add the function, cil_stack_number_of_items(), to return the number of items in the stack. Signed-off-by: James Carter <jwcart2@gmail.com> --- libsepol/cil/src/cil_stack.c | 5 +++++ libsepol/cil/src/cil_stack.h | 1 + 2 files changed, 6 insertions(+)