diff options
author | Peng Wu <alexepico@gmail.com> | 2012-06-28 15:13:49 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2012-06-28 15:13:49 +0800 |
commit | 433353d0063be4ea5527261bd403ad8bd06bd93e (patch) | |
tree | eb95b50aee06579f9d4d816ffc504498b5bde600 /src/pinyin.cpp | |
parent | ba1cd11a6ccf5ff85aa3a5df6deffd5097f12898 (diff) | |
download | libpinyin-433353d0063be4ea5527261bd403ad8bd06bd93e.tar.gz libpinyin-433353d0063be4ea5527261bd403ad8bd06bd93e.tar.xz libpinyin-433353d0063be4ea5527261bd403ad8bd06bd93e.zip |
update pinyin_get/choose_candidates
Diffstat (limited to 'src/pinyin.cpp')
-rw-r--r-- | src/pinyin.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/pinyin.cpp b/src/pinyin.cpp index a907cd9..9c06e68 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -900,7 +900,7 @@ static void _compute_frequency_of_items(pinyin_context_t * context, bool pinyin_get_candidates(pinyin_instance_t * instance, size_t offset, - TokenVector candidates) { + CandidateVector candidates) { pinyin_context_t * & context = instance->m_context; pinyin_option_t & options = context->m_options; @@ -960,10 +960,10 @@ bool pinyin_get_candidates(pinyin_instance_t * instance, g_array_sort(items, compare_item_with_frequency); /* transfer back items to tokens, and save it into candidates */ - for (ssize_t k = 0; k < items->len; ++k) { + for (size_t k = 0; k < items->len; ++k) { lookup_candidate_t * item = &g_array_index (items, lookup_candidate_t, k); - g_array_append_val(candidates, item->m_token); + g_array_append_val(candidates, *item); } if (!(retval & SEARCH_CONTINUED)) @@ -1353,9 +1353,13 @@ bool pinyin_get_full_pinyin_candidates(pinyin_instance_t * instance, int pinyin_choose_candidate(pinyin_instance_t * instance, size_t offset, - phrase_token_t token){ + lookup_candidate_t * candidate){ pinyin_context_t * & context = instance->m_context; + assert(NORMAL_CANDIDATE == candidate->m_candidate_type); + + phrase_token_t token = candidate->m_token; + guint8 len = context->m_pinyin_lookup->add_constraint (instance->m_constraints, offset, token); |