diff options
author | Jeff Brown | 2011-10-07 15:28:18 -0500 |
---|---|---|
committer | Alex Ray | 2013-07-30 15:56:58 -0500 |
commit | aa983c91caf848b9659599336a4156c28a125fa9 (patch) | |
tree | 0c7a851cafa35df4426b7ad754a8397e31675f26 /libs/utils/Unicode.cpp | |
parent | 6c31a2fb6080049e444b4aac71b037eccd0d3ddc (diff) | |
download | platform-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.cpp | 13 |
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 | /** | 545 | char16_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 | */ | ||
549 | void 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 | |||
571 | void 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 | } |