diff options
author | Peng Wu <alexepico@gmail.com> | 2012-05-21 15:28:16 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2012-05-21 15:28:16 +0800 |
commit | 4f7701c4d33c8b2df7c1cc29b1abf81ab7110e5c (patch) | |
tree | a7d48ba277f596ece8f7f43fce476992af41e12e /utils/storage | |
parent | 48becacb2a3369491c869e78bcca88aa0db07518 (diff) | |
download | libpinyin-4f7701c4d33c8b2df7c1cc29b1abf81ab7110e5c.tar.gz libpinyin-4f7701c4d33c8b2df7c1cc29b1abf81ab7110e5c.tar.xz libpinyin-4f7701c4d33c8b2df7c1cc29b1abf81ab7110e5c.zip |
updates
Diffstat (limited to 'utils/storage')
-rw-r--r-- | utils/storage/gen_binary_files.cpp | 45 |
1 files changed, 17 insertions, 28 deletions
diff --git a/utils/storage/gen_binary_files.cpp b/utils/storage/gen_binary_files.cpp index dca8117..fc3c439 100644 --- a/utils/storage/gen_binary_files.cpp +++ b/utils/storage/gen_binary_files.cpp @@ -54,38 +54,27 @@ int main(int argc, char * argv[]){ /* generate phrase index */ FacadePhraseIndex phrase_index; + for (size_t i = 0; i < PHRASE_INDEX_LIBRARY_COUNT; ++i) { + const char * tablename = pinyin_table_files[i]; + if (NULL == tablename) + continue; - gchar * filename = g_build_filename(table_dir, "gb_char.table", NULL); - FILE * gbfile = fopen(filename, "r"); - g_free(filename); + gchar * filename = g_build_filename(table_dir, tablename, NULL); + FILE * tablefile = fopen(filename, "r"); - if ( gbfile == NULL) { - fprintf(stderr, "open gb_char.table failed!\n"); - exit(ENOENT); - } - - chewinglargetable.load_text(gbfile); - fseek(gbfile, 0L, SEEK_SET); - phraselargetable.load_text(gbfile); - fseek(gbfile, 0L, SEEK_SET); - phrase_index.load_text(1, gbfile); - fclose(gbfile); - - filename = g_build_filename(table_dir, "gbk_char.table", NULL); - FILE * gbkfile = fopen(filename, "r"); - g_free(filename); + if (NULL == tablefile) { + fprintf(stderr, "open %s failed!\n", tablename); + exit(ENOENT); + } - if ( gbkfile == NULL) { - fprintf(stderr, "open gbk_char.table failed!\n"); - exit(ENOENT); + chewinglargetable.load_text(tablefile); + fseek(tablefile, 0L, SEEK_SET); + phraselargetable.load_text(tablefile); + fseek(tablefile, 0L, SEEK_SET); + phrase_index.load_text(i, tablefile); + fclose(tablefile); + g_free(filename); } - - chewinglargetable.load_text(gbkfile); - fseek(gbkfile, 0L, SEEK_SET); - phraselargetable.load_text(gbkfile); - fseek(gbkfile, 0L, SEEK_SET); - phrase_index.load_text(2, gbkfile); - fclose(gbkfile); MemoryChunk * new_chunk = new MemoryChunk; chewinglargetable.store(new_chunk); |