summaryrefslogtreecommitdiffstats
path: root/src/storage/chewing_large_table.cpp
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2012-06-21 13:18:18 +0800
committerPeng Wu <alexepico@gmail.com>2012-06-21 13:18:18 +0800
commitaa31075db890e53bc6cec08d99ba4fb250fcab12 (patch)
treec5f0f78ff5549610d94f5db73892b53920c29b60 /src/storage/chewing_large_table.cpp
parent606b4b110302fad6590eca56cba7108681b8b434 (diff)
downloadlibpinyin-aa31075db890e53bc6cec08d99ba4fb250fcab12.tar.gz
libpinyin-aa31075db890e53bc6cec08d99ba4fb250fcab12.tar.xz
libpinyin-aa31075db890e53bc6cec08d99ba4fb250fcab12.zip
refine asserts in large tables
Diffstat (limited to 'src/storage/chewing_large_table.cpp')
-rw-r--r--src/storage/chewing_large_table.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/storage/chewing_large_table.cpp b/src/storage/chewing_large_table.cpp
index 9185976..ff53b75 100644
--- a/src/storage/chewing_large_table.cpp
+++ b/src/storage/chewing_large_table.cpp
@@ -490,7 +490,8 @@ int ChewingBitmapIndexLevel::remove_index(int phrase_length,
int ChewingLengthIndexLevel::add_index(int phrase_length,
/* in */ ChewingKey keys[],
/* in */ phrase_token_t token) {
- assert(phrase_length + 1 < MAX_PHRASE_LENGTH);
+ if (!(phrase_length + 1 < MAX_PHRASE_LENGTH))
+ return ERROR_PHRASE_TOO_LONG;
if (m_chewing_array_indexes->len <= phrase_length)
g_array_set_size(m_chewing_array_indexes, phrase_length + 1);
@@ -532,7 +533,8 @@ int ChewingLengthIndexLevel::add_index(int phrase_length,
int ChewingLengthIndexLevel::remove_index(int phrase_length,
/* in */ ChewingKey keys[],
/* in */ phrase_token_t token) {
- assert(phrase_length + 1 < MAX_PHRASE_LENGTH);
+ if (!(phrase_length + 1 < MAX_PHRASE_LENGTH))
+ return ERROR_PHRASE_TOO_LONG;
if (m_chewing_array_indexes->len <= phrase_length)
return ERROR_REMOVE_ITEM_DONOT_EXISTS;