X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=common%2Ftrie.c;h=f4240b4899438e8f6b0d610a707a0b84d9987dff;hb=41b82fa1b8fbad44a1cc7671bd614b016b2c38b8;hp=ef32c962eb4aaf2a705b6fdb21d5c84a487b9415;hpb=51e206d3e16858f5cea9da95c91d5b3417d5885a;p=apps%2Fpfixtools.git diff --git a/common/trie.c b/common/trie.c index ef32c96..f4240b4 100644 --- a/common/trie.c +++ b/common/trie.c @@ -138,12 +138,12 @@ static inline const trie_entry_t* trie_entry_child(const trie_t *trie, const char c2 = str(trie, child)[0]; if (c2 == c) { - return child; + return child; } if (c < c2) { - end = mid; + end = mid; } else { - start = mid + 1; + start = mid + 1; } } return NULL; @@ -399,7 +399,7 @@ static inline void trie_entry_inspect(const trie_t *trie, bool show_content, if (entry->c_len == 0) { fputs("(0)", stdout); } else { - const char *c = array_ptr(trie->c, entry->c_offset); + const char *c = str(trie, entry); printf("(%d) ", entry->c_len); for (int i = 0 ; i < entry->c_len ; ++i) { if (c[i]) { @@ -411,9 +411,10 @@ static inline void trie_entry_inspect(const trie_t *trie, bool show_content, } fputs("\n", stdout); } - for (uint32_t i = entry->children_offset ; - i < entry->children_offset + entry->children_len ; ++i) { - trie_entry_inspect(trie, show_content, array_ptr(trie->entries, i), level + 1); + for (uint32_t i = 0 ; i < entry->children_len ; ++i) { + trie_entry_inspect(trie, show_content, + array_ptr(trie->entries, entry->children_offset + i), + level + 1); } if (level == 0) { printf("Average char per node: %d\n", trie->c.len / trie->entries.len);