diff options
Diffstat (limited to 'generic')
| -rw-r--r-- | generic/tclEncoding.c | 2 | ||||
| -rw-r--r-- | generic/tclStubInit.c | 14 | ||||
| -rw-r--r-- | generic/tclUtf.c | 8 | ||||
| -rw-r--r-- | generic/tclUtil.c | 2 | ||||
| -rw-r--r-- | generic/tclZipfs.c | 10 |
5 files changed, 17 insertions, 19 deletions
diff --git a/generic/tclEncoding.c b/generic/tclEncoding.c index f6744e9..d5e8c9a 100644 --- a/generic/tclEncoding.c +++ b/generic/tclEncoding.c @@ -2058,7 +2058,7 @@ LoadEscapeEncoding( dataPtr->numSubTables = Tcl_DStringLength(&escapeData) / sizeof(EscapeSubTable); memcpy(dataPtr->subTables, Tcl_DStringValue(&escapeData), - (size_t) Tcl_DStringLength(&escapeData)); + Tcl_DStringLength(&escapeData)); Tcl_DStringFree(&escapeData); memset(dataPtr->prefixBytes, 0, sizeof(dataPtr->prefixBytes)); 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); } diff --git a/generic/tclUtf.c b/generic/tclUtf.c index d62586c..ce67db7 100644 --- a/generic/tclUtf.c +++ b/generic/tclUtf.c @@ -451,9 +451,9 @@ Tcl_UtfToUniCharDString( if (Tcl_UtfCharComplete(p, end-p)) { p += TclUtfToUniChar(p, &ch); } else if ((unsigned)((UCHAR(*p)-0x80)) < (unsigned) 0x20) { - ch = (Tcl_UniChar) cp1252[UCHAR(*p)-0x80]; + ch = (Tcl_UniChar) cp1252[UCHAR(*p++)-0x80]; } else { - ch = UCHAR(*p); + ch = UCHAR(*p++); } *w++ = ch; } @@ -783,8 +783,8 @@ Tcl_UniCharAtIndex( * * Returns a pointer to the specified character (not byte) position in * the UTF-8 string. If TCL_UTF_MAX <= 4, characters > U+FFFF count as - * 2 positions, but then the pointer should never be placed between - * the two positions. + * 2 positions, but then the pointer should never be placed between + * the two positions. * * Results: * As above. diff --git a/generic/tclUtil.c b/generic/tclUtil.c index 48602c4..c488a42 100644 --- a/generic/tclUtil.c +++ b/generic/tclUtil.c @@ -4316,7 +4316,7 @@ TclGetProcessGlobalValue( ckfree(pgvPtr->value); pgvPtr->value = ckalloc(Tcl_DStringLength(&newValue) + 1); memcpy(pgvPtr->value, Tcl_DStringValue(&newValue), - (size_t) Tcl_DStringLength(&newValue) + 1); + Tcl_DStringLength(&newValue) + 1); Tcl_DStringFree(&newValue); Tcl_FreeEncoding(pgvPtr->encoding); pgvPtr->encoding = current; diff --git a/generic/tclZipfs.c b/generic/tclZipfs.c index ff04971..829b5d2 100644 --- a/generic/tclZipfs.c +++ b/generic/tclZipfs.c @@ -19,17 +19,9 @@ #include "tclInt.h" #include "tclFileSystem.h" -#ifdef _WIN32 -#include <winbase.h> -#else /* !_WIN32 */ +#ifndef _WIN32 #include <sys/mman.h> #endif /* _WIN32*/ -#include <errno.h> -#include <string.h> -#include <sys/stat.h> -#include <time.h> -#include <stdlib.h> -#include <fcntl.h> #ifndef MAP_FILE #define MAP_FILE 0 |
