diff options
author | Peng Wu <alexepico@gmail.com> | 2012-04-16 10:47:03 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2012-04-16 10:47:03 +0800 |
commit | d02d2e469585da83b1b3e1ec3a4a38083c5b8c30 (patch) | |
tree | 1b9320d95249b301a0ecdaca8c040a980549ed20 /src/pinyin.cpp | |
parent | 48af9209a46e7f03c189a25ece4ab3bfacf66fa3 (diff) | |
download | libpinyin-d02d2e469585da83b1b3e1ec3a4a38083c5b8c30.tar.gz libpinyin-d02d2e469585da83b1b3e1ec3a4a38083c5b8c30.tar.xz libpinyin-d02d2e469585da83b1b3e1ec3a4a38083c5b8c30.zip |
add m_raw_full_pinyin to pinyin_instance_t
Diffstat (limited to 'src/pinyin.cpp')
-rw-r--r-- | src/pinyin.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/pinyin.cpp b/src/pinyin.cpp index dade3f1..aec3a07 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -287,6 +287,8 @@ pinyin_instance_t * pinyin_alloc_instance(pinyin_context_t * context){ pinyin_instance_t * instance = new pinyin_instance_t; instance->m_context = context; + instance->m_raw_full_pinyin = NULL; + instance->m_prefixes = g_array_new(FALSE, FALSE, sizeof(phrase_token_t)); instance->m_pinyin_keys = g_array_new(FALSE, FALSE, sizeof(ChewingKey)); instance->m_pinyin_key_rests = @@ -300,6 +302,7 @@ pinyin_instance_t * pinyin_alloc_instance(pinyin_context_t * context){ } void pinyin_free_instance(pinyin_instance_t * instance){ + g_free(instance->m_raw_full_pinyin); g_array_free(instance->m_prefixes, TRUE); g_array_free(instance->m_pinyin_keys, TRUE); g_array_free(instance->m_pinyin_key_rests, TRUE); @@ -424,6 +427,9 @@ bool pinyin_parse_full_pinyin(pinyin_instance_t * instance, size_t pinyin_parse_more_full_pinyins(pinyin_instance_t * instance, const char * pinyins){ pinyin_context_t * & context = instance->m_context; + + g_free(instance->m_raw_full_pinyin); + instance->m_raw_full_pinyin = g_strdup(pinyins); int pinyin_len = strlen(pinyins); int parse_len = context->m_full_pinyin_parser->parse |