diff options
author | Dmitri Plotnikov <dplotnikov@google.com> | 2010-03-03 14:49:39 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-03-03 14:49:39 -0800 |
commit | 697658fcac202bdc60cf5169cc5d32138833d6f7 (patch) | |
tree | d4cb747a064bb19a06a6f7d1c46e549765845390 /android/sqlite3_android.cpp | |
parent | 3a4f6d71a885d4909299cc8dad8138d7407ecfcf (diff) | |
parent | 4b2aeb8073512909db336dd297563f6d07df7537 (diff) |
Merge "Implementing traditional grouping of Hiragana characters in contacts lists"
Diffstat (limited to 'android/sqlite3_android.cpp')
-rw-r--r-- | android/sqlite3_android.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/android/sqlite3_android.cpp b/android/sqlite3_android.cpp index 6b253c1..cdcc97b 100644 --- a/android/sqlite3_android.cpp +++ b/android/sqlite3_android.cpp @@ -95,17 +95,25 @@ static void get_phonebook_index( UCharIterator iter; uiter_setUTF8(&iter, src, -1); - UChar index = android::GetPhonebookIndex(&iter, locale); - if (index == 0) { + UBool isError = FALSE; + UChar index[SMALL_BUFFER_SIZE]; + uint32_t len = android::GetPhonebookIndex(&iter, locale, index, sizeof(index), &isError); + if (isError) { sqlite3_result_null(context); return; } uint32_t outlen = 0; uint8_t out[SMALL_BUFFER_SIZE]; - UBool isError = FALSE; - U8_APPEND(out, outlen, SMALL_BUFFER_SIZE * sizeof(uint8_t), index, isError); - if (isError || outlen == 0) { + for (uint32_t i = 0; i < len; i++) { + U8_APPEND(out, outlen, sizeof(out), index[i], isError); + if (isError) { + sqlite3_result_null(context); + return; + } + } + + if (outlen == 0) { sqlite3_result_null(context); return; } |