diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2018-10-08 18:34:09 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2018-10-08 18:34:09 (GMT) |
| commit | ee49fa81d90d8396e545d07c2f5a40a48130a9dc (patch) | |
| tree | c319f2a6adec30276f52ed3c16da22e1f5498a75 /generic/tclStubInit.c | |
| parent | 3826a26f8a75540c7f3ff0b45f76498e85486dc9 (diff) | |
| parent | cc4dae5c0f418d304a44bb10c87c624b478b6441 (diff) | |
| download | tcl-ee49fa81d90d8396e545d07c2f5a40a48130a9dc.zip tcl-ee49fa81d90d8396e545d07c2f5a40a48130a9dc.tar.gz tcl-ee49fa81d90d8396e545d07c2f5a40a48130a9dc.tar.bz2 | |
Merge 8.6
Also fix startup problems on win32, when the encoding path contains invalid UTF-8 (reported by François Vogel)
Various other code cleanup, e.g. remove empty.zip file, as this didn't work quite as expected.
Diffstat (limited to 'generic/tclStubInit.c')
| -rw-r--r-- | generic/tclStubInit.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c index 2e2aa60..9a134f9 100644 --- a/generic/tclStubInit.c +++ b/generic/tclStubInit.c @@ -230,6 +230,9 @@ Tcl_WinUtfToTChar( Tcl_DString *dsPtr) { Tcl_DStringInit(dsPtr); + if (!string) { + return NULL; + } return (char *)Tcl_UtfToUniCharDString(string, len, dsPtr); } @@ -239,12 +242,15 @@ Tcl_WinTCharToUtf( int len, Tcl_DString *dsPtr) { - if (len > 0) { - len /= 2; - } else if (len == -1) { + Tcl_DStringInit(dsPtr); + if (!string) { + return NULL; + } + if (len < 0) { len = wcslen((wchar_t *)string); + } else { + len /= 2; } - Tcl_DStringInit(dsPtr); return Tcl_UniCharToUtfDString((Tcl_UniChar *)string, len, dsPtr); } |
