diff options
author | Peng Wu <alexepico@gmail.com> | 2012-05-29 10:48:27 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2012-05-29 10:48:27 +0800 |
commit | 6b2c3bad390dc5073fb12ae841d2fa061bc1a557 (patch) | |
tree | a0be96e2fe994c71e483ef674c245e72e2d6d040 /src/pinyin.cpp | |
parent | 8a169a4f2db04e2d8bd6c442696a606fc389923a (diff) | |
download | libpinyin-6b2c3bad390dc5073fb12ae841d2fa061bc1a557.tar.gz libpinyin-6b2c3bad390dc5073fb12ae841d2fa061bc1a557.tar.xz libpinyin-6b2c3bad390dc5073fb12ae841d2fa061bc1a557.zip |
fixes pinyin_choose_full_pinyin_candidate
Diffstat (limited to 'src/pinyin.cpp')
-rw-r--r-- | src/pinyin.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/pinyin.cpp b/src/pinyin.cpp index 574b684..baf64ea 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -1144,11 +1144,16 @@ int pinyin_choose_full_pinyin_candidate(pinyin_instance_t * instance, /* Note: there may be some un-parsable input here. */ } + /* sync m_constraints to the length of m_pinyin_keys. */ + bool retval = context->m_pinyin_lookup->validate_constraint + (instance->m_constraints, instance->m_pinyin_keys); + phrase_token_t token = candidate->m_token; guint8 len = context->m_pinyin_lookup->add_constraint (instance->m_constraints, offset, token); - bool retval = context->m_pinyin_lookup->validate_constraint + /* safe guard: validate the m_constraints again. */ + retval = context->m_pinyin_lookup->validate_constraint (instance->m_constraints, instance->m_pinyin_keys) && len; return offset + len; |