summaryrefslogtreecommitdiff
path: root/android/sqlite3_android.cpp
diff options
context:
space:
mode:
authorDmitri Plotnikov <dplotnikov@google.com>2010-03-03 14:49:39 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-03-03 14:49:39 -0800
commit697658fcac202bdc60cf5169cc5d32138833d6f7 (patch)
treed4cb747a064bb19a06a6f7d1c46e549765845390 /android/sqlite3_android.cpp
parent3a4f6d71a885d4909299cc8dad8138d7407ecfcf (diff)
parent4b2aeb8073512909db336dd297563f6d07df7537 (diff)
Merge "Implementing traditional grouping of Hiragana characters in contacts lists"
Diffstat (limited to 'android/sqlite3_android.cpp')
-rw-r--r--android/sqlite3_android.cpp18
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;
}