From a4901dd10796363b9f74db459965c8a9d4628ddb Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Tue, 6 Sep 2011 12:04:48 +0800 Subject: fixes compile and a bug --- src/pinyin.cpp | 10 +++++----- tests/test_pinyin.cpp | 5 +++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/pinyin.cpp b/src/pinyin.cpp index 7bec3cb..822ebe9 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -116,11 +116,11 @@ bool pinyin_free_auxiliary_arrays(pinyin_context_t * context, PinyinKeyVector * pinyin_keys, CandidateConstraints * constraints, MatchResults * match_results){ - g_array_free(*pinyin_keys, true); + g_array_free(*pinyin_keys, TRUE); *pinyin_keys = NULL; - g_array_free(*constraints, true); + g_array_free(*constraints, TRUE); *constraints = NULL; - g_array_free(*match_results, true); + g_array_free(*match_results, TRUE); *match_results = NULL; return true; @@ -135,11 +135,11 @@ bool pinyin_set_options(pinyin_context_t * context, return true; } -/* copy from pinyin_keys to m_pinyin_keys. */ + bool pinyin_update_constraints(pinyin_context_t * context, PinyinKeyVector pinyin_keys, CandidateConstraints constraints){ - size_t key_len = pinyin_keys->len; + size_t key_len = constraints->len; g_array_set_size(constraints, pinyin_keys->len); for (size_t i = key_len; i < pinyin_keys->len; ++i ) { lookup_constraint_t * constraint = diff --git a/tests/test_pinyin.cpp b/tests/test_pinyin.cpp index ce00f14..1009adb 100644 --- a/tests/test_pinyin.cpp +++ b/tests/test_pinyin.cpp @@ -46,9 +46,11 @@ int main(int argc, char * argv[]){ break; pinyin_parse_more_fulls(context, linebuf, pinyin_keys); - char * sentence = NULL; + pinyin_update_constraints(context, pinyin_keys, constraints); pinyin_get_guessed_tokens(context, pinyin_keys, constraints, match_results); + + char * sentence = NULL; pinyin_get_sentence (context, match_results, &sentence); printf("%s\n", sentence); g_free(sentence); @@ -61,7 +63,6 @@ int main(int argc, char * argv[]){ pinyin_free_auxiliary_arrays (context, &pinyin_keys, &constraints, &match_results); pinyin_fini(context); - g_array_free(pinyin_keys, TRUE); free(linebuf); return 0; } -- cgit