1.1 --- a/core/sm_trie.cpp Sat Jan 20 02:51:30 2007 +0000
1.2 +++ b/core/sm_trie.cpp Wed Jan 24 21:51:49 2007 +0000
1.3 @@ -246,17 +246,23 @@
1.4 t->stringtab = (char *)malloc(sizeof(char) * 256);
1.5 t->baseSize = 256;
1.6 t->stSize = 256;
1.7 - t->tail = 0;
1.8 +
1.9 + sm_trie_clear(t);
1.10 +
1.11 + return t;
1.12 +}
1.13
1.14 - memset(t->base, 0, sizeof(TrieNode) * (256 + 1));
1.15 - memset(t->stringtab, 0, sizeof(char) * 256);
1.16 +void sm_trie_clear(Trie *trie)
1.17 +{
1.18 + trie->tail = 0;
1.19 +
1.20 + memset(trie->base, 0, sizeof(TrieNode) * (trie->baseSize + 1));
1.21 + memset(trie->stringtab, 0, sizeof(char) * trie->stSize);
1.22
1.23 /* Sentinel root node */
1.24 - t->base[1].idx = 1;
1.25 - t->base[1].mode = Node_Arc;
1.26 - t->base[1].parent = 1;
1.27 -
1.28 - return t;
1.29 + trie->base[1].idx = 1;
1.30 + trie->base[1].mode = Node_Arc;
1.31 + trie->base[1].parent = 1;
1.32 }
1.33
1.34 void sm_trie_destroy(Trie *trie)