diff options
| author | Neil <nyamatongwe@gmail.com> | 2015-02-23 10:10:54 +1100 |
|---|---|---|
| committer | Neil <nyamatongwe@gmail.com> | 2015-02-23 10:10:54 +1100 |
| commit | c194249102cea0df80bcbe2d154dfb4bc582aa10 (patch) | |
| tree | 3f424b6604d0072a32e5989d4204559e9579b080 /src/UniConversion.cxx | |
| parent | e3fb3e4d970c691eb696bdaeabb64e0e84d2d930 (diff) | |
| download | scintilla-mirror-c194249102cea0df80bcbe2d154dfb4bc582aa10.tar.gz | |
Fix non-BMP character entry through the inline IME.
Diffstat (limited to 'src/UniConversion.cxx')
| -rw-r--r-- | src/UniConversion.cxx | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/UniConversion.cxx b/src/UniConversion.cxx index dea069843..0d69d9969 100644 --- a/src/UniConversion.cxx +++ b/src/UniConversion.cxx @@ -17,7 +17,6 @@ using namespace Scintilla; namespace Scintilla { #endif -enum { SURROGATE_LEAD_FIRST = 0xD800 }; enum { SURROGATE_TRAIL_FIRST = 0xDC00 }; enum { SURROGATE_TRAIL_LAST = 0xDFFF }; enum { SUPPLEMENTAL_PLANE_FIRST = 0x10000 }; @@ -43,7 +42,7 @@ unsigned int UTF8Length(const wchar_t *uptr, unsigned int tlen) { } void UTF8FromUTF16(const wchar_t *uptr, unsigned int tlen, char *putf, unsigned int len) { - int k = 0; + unsigned int k = 0; for (unsigned int i = 0; i < tlen && uptr[i];) { unsigned int uch = uptr[i]; if (uch < 0x80) { @@ -67,7 +66,8 @@ void UTF8FromUTF16(const wchar_t *uptr, unsigned int tlen, char *putf, unsigned } i++; } - putf[len] = '\0'; + if (k < len) + putf[k] = '\0'; } unsigned int UTF8CharLength(unsigned char ch) { |
