summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Brown2011-10-07 15:28:18 -0500
committerAlex Ray2013-07-30 15:56:58 -0500
commitaa983c91caf848b9659599336a4156c28a125fa9 (patch)
tree0c7a851cafa35df4426b7ad754a8397e31675f26 /libs/utils/Unicode.cpp
parent6c31a2fb6080049e444b4aac71b037eccd0d3ddc (diff)
downloadplatform-system-core-aa983c91caf848b9659599336a4156c28a125fa9.tar.gz
platform-system-core-aa983c91caf848b9659599336a4156c28a125fa9.tar.xz
platform-system-core-aa983c91caf848b9659599336a4156c28a125fa9.zip
Fix regression in CursorWindow.copyStingToBuffer.
Bug: 5332296 Change-Id: Iff9eed786f0a8293b6156f883a66a322ddad5e99
Diffstat (limited to 'libs/utils/Unicode.cpp')
-rw-r--r--libs/utils/Unicode.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/libs/utils/Unicode.cpp b/libs/utils/Unicode.cpp
index 78c61b4fc..41cbf035e 100644
--- a/libs/utils/Unicode.cpp
+++ b/libs/utils/Unicode.cpp
@@ -542,11 +542,7 @@ ssize_t utf8_to_utf16_length(const uint8_t* u8str, size_t u8len)
542 return u16measuredLen; 542 return u16measuredLen;
543} 543}
544 544
545/** 545char16_t* utf8_to_utf16_no_null_terminator(const uint8_t* u8str, size_t u8len, char16_t* u16str)
546 * Convert a UTF-8 string to UTF-16. The destination UTF-16 buffer must have
547 * space for NULL at the end.
548 */
549void utf8_to_utf16(const uint8_t* u8str, size_t u8len, char16_t* u16str)
550{ 546{
551 const uint8_t* const u8end = u8str + u8len; 547 const uint8_t* const u8end = u8str + u8len;
552 const uint8_t* u8cur = u8str; 548 const uint8_t* u8cur = u8str;
@@ -569,7 +565,12 @@ void utf8_to_utf16(const uint8_t* u8str, size_t u8len, char16_t* u16str)
569 565
570 u8cur += u8len; 566 u8cur += u8len;
571 } 567 }
572 *u16cur = 0; 568 return u16cur;
569}
570
571void utf8_to_utf16(const uint8_t* u8str, size_t u8len, char16_t* u16str) {
572 char16_t* end = utf8_to_utf16_no_null_terminator(u8str, u8len, u16str);
573 *end = 0;
573} 574}
574 575
575} 576}