summaryrefslogtreecommitdiffstats
path: root/src/pinyin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pinyin.cpp')
-rw-r--r--src/pinyin.cpp7
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) {