From 7aee159c0ca72f75a5813bedda155d9243221221 Mon Sep 17 00:00:00 2001 From: Al Date: Mon, 27 Jul 2015 12:36:34 -0400 Subject: [PATCH] [utils] string_tree_num_tokens --- src/string_utils.c | 6 +++++- src/string_utils.h | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/string_utils.c b/src/string_utils.c index 515efb0e..d8c8da03 100644 --- a/src/string_utils.c +++ b/src/string_utils.c @@ -797,6 +797,10 @@ inline void string_tree_append_string_len(string_tree_t *self, char *str, size_t cstring_array_append_string_len(self->strings, str, len); } +inline uint32_t string_tree_num_tokens(string_tree_t *self) { + return self->token_indices->n - 1; +} + inline uint32_t string_tree_num_alternatives(string_tree_t *self, uint32_t i) { if (i >= self->token_indices->n) return 0; return self->token_indices->a[i + 1] - self->token_indices->a[i]; @@ -824,7 +828,7 @@ string_tree_iterator_t *string_tree_iterator_new(string_tree_t *tree) { string_tree_iterator_t *self = malloc(sizeof(string_tree_iterator_t)); self->tree = tree; - uint32_t num_tokens = tree->token_indices->n - 1; + uint32_t num_tokens = string_tree_num_tokens(tree); self->num_tokens = num_tokens; // calloc since the first path through the tree is all zeros diff --git a/src/string_utils.h b/src/string_utils.h index 55b07b4b..5a2bf550 100644 --- a/src/string_utils.h +++ b/src/string_utils.h @@ -207,6 +207,8 @@ void string_tree_add_string_len(string_tree_t *self, char *str, size_t len); void string_tree_append_string(string_tree_t *self, char *str); void string_tree_append_string_len(string_tree_t *self, char *str, size_t len); +uint32_t string_tree_num_tokens(string_tree_t *self); + uint32_t string_tree_num_alternatives(string_tree_t *self, uint32_t i); void string_tree_destroy(string_tree_t *self);