diff --git a/libsepol/cil/src/cil_stack.c b/libsepol/cil/src/cil_stack.c index bbfb961a..70a77bc1 100644 --- a/libsepol/cil/src/cil_stack.c +++ b/libsepol/cil/src/cil_stack.c @@ -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++; diff --git a/libsepol/cil/src/cil_stack.h b/libsepol/cil/src/cil_stack.h index b78535ac..0e3eff66 100644 --- a/libsepol/cil/src/cil_stack.h +++ b/libsepol/cil/src/cil_stack.h @@ -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);