diff options
| -rw-r--r-- | generic/tclEncoding.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/generic/tclEncoding.c b/generic/tclEncoding.c index 689fa50..e9b0cce 100644 --- a/generic/tclEncoding.c +++ b/generic/tclEncoding.c @@ -2821,6 +2821,11 @@ Utf32ToUtfProc( if ((unsigned)ch - 1 < 0x7F) { *dst++ = (ch & 0xFF); } else { +#if TCL_UTF_MAX < 4 + if (!HIGH_SURROGATE(prev) && LOW_SURROGATE(ch)) { + *dst = 0; /* In case of lower surrogate, don't try to combine */ + } +#endif dst += Tcl_UniCharToUtf(ch, dst); } src += 4; |
