diff options
author | Peng Wu <alexepico@gmail.com> | 2012-04-19 14:51:00 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2012-04-19 14:51:00 +0800 |
commit | be2be435b1ad0371603407c567475d1490ade1ed (patch) | |
tree | 1b017623f600ab87363a384e4fb3dc0d1466857b /src/pinyin.cpp | |
parent | fe4688fd9725b295a31c3475c0a117c78de59a0c (diff) | |
download | libpinyin-be2be435b1ad0371603407c567475d1490ade1ed.tar.gz libpinyin-be2be435b1ad0371603407c567475d1490ade1ed.tar.xz libpinyin-be2be435b1ad0371603407c567475d1490ade1ed.zip |
refine retrieve_divided_item
Diffstat (limited to 'src/pinyin.cpp')
-rw-r--r-- | src/pinyin.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/pinyin.cpp b/src/pinyin.cpp index 7318d44..0fd52e9 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -731,6 +731,10 @@ static bool _try_divided_table(pinyin_instance_t * instance, ChewingKeyVector & pinyin_keys = instance->m_pinyin_keys; ChewingKeyRestVector & pinyin_key_rests = instance->m_pinyin_key_rests; + assert(pinyin_keys->len == pinyin_key_rests->len); + gint num_keys = pinyin_keys->len; + assert(offset < num_keys); + /* handle "^xian$" -> "xi'an" here */ ChewingKey * key = &g_array_index(pinyin_keys, ChewingKey, offset); ChewingKeyRest * rest = &g_array_index(pinyin_key_rests, @@ -750,8 +754,7 @@ static bool _try_divided_table(pinyin_instance_t * instance, } item = context->m_full_pinyin_parser->retrieve_divided_item - (options, offset, pinyin_keys, pinyin_key_rests, - instance->m_raw_full_pinyin, + (options, key, rest, instance->m_raw_full_pinyin, strlen(instance->m_raw_full_pinyin)); if (item) { |