From d02d2e469585da83b1b3e1ec3a4a38083c5b8c30 Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Mon, 16 Apr 2012 10:47:03 +0800 Subject: add m_raw_full_pinyin to pinyin_instance_t --- src/pinyin.cpp | 6 ++++++ src/pinyin.h | 1 + 2 files changed, 7 insertions(+) (limited to 'src') 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 diff --git a/src/pinyin.h b/src/pinyin.h index f5cc142..50eaf6d 100644 --- a/src/pinyin.h +++ b/src/pinyin.h @@ -38,6 +38,7 @@ typedef struct _pinyin_instance_t pinyin_instance_t; struct _pinyin_instance_t{ pinyin_context_t * m_context; + gchar * m_raw_full_pinyin; TokenVector m_prefixes; ChewingKeyVector m_pinyin_keys; ChewingKeyRestVector m_pinyin_key_rests; -- cgit