Allow libpinyin to build in cross compile mode.
[platform/upstream/libpinyin.git] / tests / tests_helper.h
index 5694148..431dbc8 100644 (file)
 #ifndef TESTS_HELPER_H
 #define TESTS_HELPER_H
 
-static bool load_phrase_index(FacadePhraseIndex * phrase_index){
+static bool load_phrase_index(const pinyin_table_info_t * phrase_files,
+                              FacadePhraseIndex * phrase_index){
     MemoryChunk * chunk = NULL;
     for (size_t i = 0; i < PHRASE_INDEX_LIBRARY_COUNT; ++i) {
-        const char * binfile = pinyin_phrase_files[i];
-        if (NULL == binfile)
+        const pinyin_table_info_t * table_info = phrase_files + i;
+
+        if (SYSTEM_FILE != table_info->m_file_type)
             continue;
 
+        const char * binfile = table_info->m_system_filename;
+
         gchar * filename = g_build_filename("..", "..", "data",
                                             binfile, NULL);
         chunk = new MemoryChunk;
         bool retval = chunk->load(filename);
         if (!retval) {
             fprintf(stderr, "open %s failed!\n", binfile);
+            delete chunk;
             return false;
         }
 
@@ -44,14 +49,18 @@ static bool load_phrase_index(FacadePhraseIndex * phrase_index){
     return true;
 }
 
-static bool load_phrase_table(ChewingLargeTable * chewing_table,
-                              PhraseLargeTable * phrase_table,
+static bool load_phrase_table(const pinyin_table_info_t * phrase_files,
+                              ChewingLargeTable * chewing_table,
+                              PhraseLargeTable2 * phrase_table,
                               FacadePhraseIndex * phrase_index){
     for (size_t i = 0; i < PHRASE_INDEX_LIBRARY_COUNT; ++i) {
-        const char * tablename = pinyin_table_files[i];
-        if ( NULL == tablename )
+        const pinyin_table_info_t * table_info = phrase_files + i;
+
+        if (SYSTEM_FILE != table_info->m_file_type)
             continue;
 
+        const char * tablename = table_info->m_table_filename;
+
         gchar * filename = g_build_filename("..", "..", "data",
                                             tablename, NULL);
         FILE * tablefile = fopen(filename, "r");