summaryrefslogtreecommitdiffstats
path: root/utils/utils_helper.h
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2013-02-19 15:27:46 +0800
committerPeng Wu <alexepico@gmail.com>2013-02-19 15:27:46 +0800
commit46e6218e04b40b3fece89f752c8ac6334e5782d1 (patch)
tree027a931f65b899bf8ca6ce8842715e4d1bf62525 /utils/utils_helper.h
parentc446681d0c6e546b2cc1d3863ebea57757b12a21 (diff)
downloadlibpinyin-46e6218e04b40b3fece89f752c8ac6334e5782d1.tar.gz
libpinyin-46e6218e04b40b3fece89f752c8ac6334e5782d1.tar.xz
libpinyin-46e6218e04b40b3fece89f752c8ac6334e5782d1.zip
add save_dictionary
Diffstat (limited to 'utils/utils_helper.h')
-rw-r--r--utils/utils_helper.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/utils/utils_helper.h b/utils/utils_helper.h
index 3eb6778..b0a8737 100644
--- a/utils/utils_helper.h
+++ b/utils/utils_helper.h
@@ -115,4 +115,27 @@ static bool save_phrase_index(FacadePhraseIndex * phrase_index) {
return true;
}
+static bool save_dictionary(FacadePhraseIndex * phrase_index) {
+ MemoryChunk * new_chunk = NULL;
+ for (size_t i = 0; i < PHRASE_INDEX_LIBRARY_COUNT; ++i) {
+ const pinyin_table_info_t * table_info = pinyin_phrase_files + i;
+
+ if (DICTIONARY != table_info->m_file_type)
+ continue;
+
+ const char * binfile = table_info->m_system_filename;
+
+ new_chunk = new MemoryChunk;
+ phrase_index->store(i, new_chunk);
+ bool retval = new_chunk->save(binfile);
+ if (!retval) {
+ fprintf(stderr, "save %s failed.", binfile);
+ return false;
+ }
+
+ phrase_index->load(i, new_chunk);
+ }
+ return true;
+}
+
#endif