core/sm_trie.cpp
changeset 335 02cc96355b09
parent 216 38b1bdbc5bc9
child 370 d3a484f98f6d
     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)