summaryrefslogtreecommitdiffstats
path: root/generic/tclStubInit.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclStubInit.c')
-rw-r--r--generic/tclStubInit.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index 8e1ea44..a03bf1a 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -105,6 +105,9 @@ Tcl_WinUtfToTChar(
Tcl_DString *dsPtr)
{
Tcl_DStringInit(dsPtr);
+ if (!string) {
+ return NULL;
+ }
return (char *)Tcl_UtfToUniCharDString(string, len, dsPtr);
}
@@ -114,12 +117,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);
}