summaryrefslogtreecommitdiff
path: root/android/sqlite3_android.cpp
diff options
context:
space:
mode:
authorDmitri Plotnikov <dplotnikov@google.com>2010-03-03 14:48:34 -0800
committerDmitri Plotnikov <dplotnikov@google.com>2010-03-03 14:48:34 -0800
commit4b2aeb8073512909db336dd297563f6d07df7537 (patch)
treea2bc9b0683cee5a1e9a0f2d0ca5ccbf84da904c2 /android/sqlite3_android.cpp
parent3a74962298118ee138e290c3458bccb895854b47 (diff)
Implementing traditional grouping of Hiragana characters in contacts lists
Bug: 2407129 Change-Id: I8d83f9012846f61484b76f718e8127090eba39ec
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;
}