summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2012-05-21 15:28:16 +0800
committerPeng Wu <alexepico@gmail.com>2012-05-21 15:28:16 +0800
commit4f7701c4d33c8b2df7c1cc29b1abf81ab7110e5c (patch)
treea7d48ba277f596ece8f7f43fce476992af41e12e /utils
parent48becacb2a3369491c869e78bcca88aa0db07518 (diff)
downloadlibpinyin-4f7701c4d33c8b2df7c1cc29b1abf81ab7110e5c.tar.gz
libpinyin-4f7701c4d33c8b2df7c1cc29b1abf81ab7110e5c.tar.xz
libpinyin-4f7701c4d33c8b2df7c1cc29b1abf81ab7110e5c.zip
updates
Diffstat (limited to 'utils')
-rw-r--r--utils/storage/gen_binary_files.cpp45
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);