summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@google.com>2014-07-25 19:14:51 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-07-24 15:37:54 +0000
commit41b1aa18d7c32b4383993cd1b0a7e2e6648be14e (patch)
treef2980bc74dbd87b0bd45bab0d5479c16f15bd249
parenta5bb91190edbea0be0e78a8511b3c920b6e99c4e (diff)
parentb8208bc19c178b73175f76323381a1eeb8059807 (diff)
downloadandroid_frameworks_minikin-41b1aa18d7c32b4383993cd1b0a7e2e6648be14e.tar.gz
android_frameworks_minikin-41b1aa18d7c32b4383993cd1b0a7e2e6648be14e.tar.bz2
android_frameworks_minikin-41b1aa18d7c32b4383993cd1b0a7e2e6648be14e.zip
Merge "Don't get stuck on invalid UTF-16" into lmp-dev
-rw-r--r--libs/minikin/Layout.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/libs/minikin/Layout.cpp b/libs/minikin/Layout.cpp
index 6611f06..072ceda 100644
--- a/libs/minikin/Layout.cpp
+++ b/libs/minikin/Layout.cpp
@@ -396,11 +396,10 @@ static hb_codepoint_t decodeUtf16(const uint16_t* chars, size_t len, ssize_t* it
const hb_codepoint_t delta = (0xd800 << 10) + 0xdc00 - 0x10000;
return (((hb_codepoint_t)v) << 10) + v2 - delta;
}
- (*iter) -= 2;
- return ~0u;
+ (*iter) -= 1;
+ return 0xFFFDu;
} else {
- (*iter)--;
- return ~0u;
+ return 0xFFFDu;
}
} else {
return v;