From: Peng Wu Date: Mon, 13 Feb 2012 05:26:12 +0000 (+0800) Subject: improves full pinyin parser X-Git-Tag: 0.5.92~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ad094960b7844a026e65c4d2aafb674783694a08;p=platform%2Fupstream%2Flibpinyin.git improves full pinyin parser --- diff --git a/src/storage/pinyin_parser2.cpp b/src/storage/pinyin_parser2.cpp index 80a525b..defc9fe 100644 --- a/src/storage/pinyin_parser2.cpp +++ b/src/storage/pinyin_parser2.cpp @@ -345,7 +345,9 @@ int FullPinyinParser2::parse (pinyin_option_t options, ChewingKeyVector & keys, #endif /* dynamic programming here. */ - for (size_t m = i; m < next_sep; ++m) { + /* for (size_t m = i; m < next_sep; ++m) */ + { + size_t m = i; curstep = &g_array_index(m_parse_steps, parse_value_t, m); size_t try_len = std_lite::min (m + max_full_pinyin_length, next_sep); @@ -379,6 +381,7 @@ int FullPinyinParser2::parse (pinyin_option_t options, ChewingKeyVector & keys, if (value.m_parsed_len == nextstep->m_parsed_len && value.m_num_keys < nextstep->m_num_keys) *nextstep = value; + if (value.m_parsed_len == nextstep->m_parsed_len && value.m_num_keys == nextstep->m_num_keys) {