move get_first_token to spseg
authorPeng Wu <alexepico@gmail.com>
Sat, 20 Oct 2012 08:26:02 +0000 (16:26 +0800)
committerPeng Wu <alexepico@gmail.com>
Sat, 20 Oct 2012 08:26:37 +0000 (16:26 +0800)
src/storage/phrase_large_table2.h
utils/segment/spseg.cpp

index 6a73851..dd1a1e4 100644 (file)
@@ -130,29 +130,6 @@ static inline int reduce_tokens(PhraseTokens tokens,
     return num;
 }
 
-/* for compatibility. */
-static inline int get_first_token(PhraseTokens tokens,
-                                  /* out */ phrase_token_t & token){
-    int num = 0; token = null_token;
-
-    for (size_t i = 0; i < PHRASE_INDEX_LIBRARY_COUNT; ++i) {
-        GArray * array = tokens[i];
-        if (NULL == array || 0 == array->len)
-            continue;
-
-        num += array->len;
-
-        if (null_token == token) {
-            token = g_array_index(array, phrase_token_t, 0);
-        }
-    }
-
-    /* the following line will be removed in future after code are verified. */
-    assert(0 == num || 1 == num);
-
-    return num;
-}
-
 };
 
 #endif
index b7d6176..6205369 100644 (file)
 #include "pinyin_internal.h"
 #include "utils_helper.h"
 
+/* for compatibility. */
+int get_first_token(PhraseTokens tokens,
+                    /* out */ phrase_token_t & token){
+    token = null_token;
+
+    GArray * tokenarray = g_array_new(FALSE, FALSE, sizeof(phrase_token_t));
+    int num = reduce_tokens(tokens, tokenarray);
+    if (num)
+        token = g_array_index(tokenarray, phrase_token_t, 0);
+    g_array_free(tokenarray, TRUE);
+
+    return num;
+}
+
+
 /* graph shortest path sentence segment. */
 
 /* Note: