summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2010-11-09 12:50:01 +0800
committerPeng Wu <alexepico@gmail.com>2010-11-09 12:50:01 +0800
commitb4785a45c0d83fbba1e652b483a42363f3c6cccf (patch)
treedf15da2fd712db7a3ead7714f91f95f30b513978 /src
parent33d4a4dba293513531d8b4734b7e1053bc30f1e8 (diff)
downloadlibpinyin-b4785a45c0d83fbba1e652b483a42363f3c6cccf.tar.gz
libpinyin-b4785a45c0d83fbba1e652b483a42363f3c6cccf.tar.xz
libpinyin-b4785a45c0d83fbba1e652b483a42363f3c6cccf.zip
fixes a bug in phrase lookup
Diffstat (limited to 'src')
-rw-r--r--src/lookup/phrase_lookup.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/lookup/phrase_lookup.cpp b/src/lookup/phrase_lookup.cpp
index e3bf2d9..86c9077 100644
--- a/src/lookup/phrase_lookup.cpp
+++ b/src/lookup/phrase_lookup.cpp
@@ -104,7 +104,7 @@ bool PhraseLookup::search_unigram(int nstep, phrase_token_t token){
lookup_value_t * max_value = &g_array_index(lookup_content, lookup_value_t, 0);
/* find the maximum node */
- for ( size_t i = 1; i < m_steps_content->len; ++i ){
+ for ( size_t i = 1; i < lookup_content->len; ++i ){
lookup_value_t * cur_value = &g_array_index(lookup_content, lookup_value_t, i);
if ( cur_value->m_poss > max_value->m_poss )
max_value = cur_value;
@@ -217,20 +217,20 @@ bool PhraseLookup::save_next_step(int next_step_pos, lookup_value_t * cur_value,
bool PhraseLookup::final_step(MatchResults & results ){
//reset results
g_array_set_size(results, m_steps_content->len);
- for ( size_t i = 0; i < m_steps_content->len; ++i ){
+ for ( size_t i = 0; i < results->len; ++i ){
phrase_token_t * token = &g_array_index(results, phrase_token_t, i);
*token = null_token;
}
//find max element
size_t last_step_pos = m_steps_content->len - 1;
- GArray * last_step_array = (GArray *) g_ptr_array_index(m_steps_content, last_step_pos);
- if ( last_step_array->len == 0 )
+ GArray * last_step_content = (GArray *) g_ptr_array_index(m_steps_content, last_step_pos);
+ if ( last_step_content->len == 0 )
return false;
- lookup_value_t * max_value = &g_array_index(last_step_array, lookup_value_t, 0);
- for ( size_t i = 1; i < last_step_array->len; ++i ){
- lookup_value_t * cur_value = &g_array_index(last_step_array, lookup_value_t, i);
+ lookup_value_t * max_value = &g_array_index(last_step_content, lookup_value_t, 0);
+ for ( size_t i = 1; i < last_step_content->len; ++i ){
+ lookup_value_t * cur_value = &g_array_index(last_step_content, lookup_value_t, i);
if ( cur_value->m_poss > max_value->m_poss )
max_value = cur_value;
}