summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2018-10-08 18:34:09 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2018-10-08 18:34:09 (GMT)
commitee49fa81d90d8396e545d07c2f5a40a48130a9dc (patch)
treec319f2a6adec30276f52ed3c16da22e1f5498a75 /win
parent3826a26f8a75540c7f3ff0b45f76498e85486dc9 (diff)
parentcc4dae5c0f418d304a44bb10c87c624b478b6441 (diff)
downloadtcl-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 'win')
-rw-r--r--win/Makefile.in1
-rw-r--r--win/makefile.vc16
-rw-r--r--win/tclWin32Dll.c10
-rw-r--r--win/tclWinFCmd.c3
4 files changed, 11 insertions, 19 deletions
diff --git a/win/Makefile.in b/win/Makefile.in
index f36c38b..e2acb1b 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -495,7 +495,6 @@ $(TCLSH): $(TCLSH_OBJS) @LIBRARIES@ $(TCL_STUB_LIB_FILE) tclsh.$(RES)
$(CC) $(CFLAGS) $(TCLSH_OBJS) $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) $(LIBS) \
tclsh.$(RES) $(CC_EXENAME) $(LDFLAGS_CONSOLE)
@VC_MANIFEST_EMBED_EXE@
- cat ${TOOL_DIR}/empty.zip >> ${TCLSH}
cat32.$(OBJEXT): cat.c
$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
diff --git a/win/makefile.vc b/win/makefile.vc
index 77d56b8..2554893 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -123,7 +123,6 @@ TCLDDELIBNAME = $(PROJECT)dde$(DDEVERSION)$(SUFX:t=).$(EXT)
TCLDDELIB = $(OUT_DIR)\$(TCLDDELIBNAME)
TCLTEST = $(OUT_DIR)\$(PROJECT)test.exe
-CAT32 = $(OUT_DIR)\cat32.exe
TCLSHOBJS = \
$(TMP_DIR)\tclAppInit.obj \
@@ -384,20 +383,20 @@ release: setup $(TCLSH) $(TCLSTUBLIB) dlls pkgs
core: setup $(TCLLIB) $(TCLSTUBLIB)
shell: setup $(TCLSH)
dlls: setup $(TCLREGLIB) $(TCLDDELIB)
-all: setup $(TCLSH) $(TCLSTUBLIB) dlls $(CAT32) pkgs
-tcltest: setup $(TCLTEST) dlls $(CAT32)
+all: setup $(TCLSH) $(TCLSTUBLIB) dlls pkgs
+tcltest: setup $(TCLTEST) dlls
install: install-binaries install-libraries install-docs install-pkgs
setup: default-setup
test: test-core test-pkgs
-test-core: setup $(TCLTEST) dlls $(CAT32)
+test-core: setup $(TCLTEST) dlls
set TCL_LIBRARY=$(ROOT:\=/)/library
$(DEBUGGER) $(TCLTEST) "$(ROOT:\=/)/tests/all.tcl" $(TESTFLAGS) -loadfile <<
package ifneeded dde 1.4.0 [list load "$(TCLDDELIB:\=/)" dde]
package ifneeded registry 1.3.2 [list load "$(TCLREGLIB:\=/)" registry]
<<
-runtest: setup $(TCLTEST) dlls $(CAT32)
+runtest: setup $(TCLTEST) dlls
set TCL_LIBRARY=$(ROOT:\=/)/library
$(DEBUGGER) $(TCLTEST) $(SCRIPT)
@@ -419,11 +418,11 @@ $(TCLLIB): $(TCLOBJS)
$**
<<
$(_VC_MANIFEST_EMBED_DLL)
+
$(TCLIMPLIB): $(TCLLIB)
!endif # $(STATIC_BUILD)
-
$(TCLSTUBLIB): $(TCLSTUBOBJS)
$(LIBCMD) -nodefaultlib $(TCLSTUBOBJS)
@@ -485,11 +484,6 @@ clean-pkgs:
popd \
)
-$(CAT32): $(WINDIR)\cat.c
- $(cc32) $(cflags) $(crt) -D_CRT_NONSTDC_NO_DEPRECATE -DCONSOLE -Fo$(TMP_DIR)\ $?
- $(CONEXECMD) -stack:16384 $(TMP_DIR)\cat.obj
- $(_VC_MANIFEST_EMBED_EXE)
-
#---------------------------------------------------------------------
# Regenerate the stubs files. [Development use only]
#---------------------------------------------------------------------
diff --git a/win/tclWin32Dll.c b/win/tclWin32Dll.c
index 04d27dd..dca6875 100644
--- a/win/tclWin32Dll.c
+++ b/win/tclWin32Dll.c
@@ -473,7 +473,7 @@ Tcl_WinUtfToTChar(
{
Tcl_DStringInit(dsPtr);
if (!string) {
- return (TCHAR *)Tcl_DStringValue(dsPtr);
+ return NULL;
}
return Tcl_UtfToUniCharDString(string, len, dsPtr);
}
@@ -488,12 +488,12 @@ Tcl_WinTCharToUtf(
{
Tcl_DStringInit(dsPtr);
if (!string) {
- return Tcl_DStringValue(dsPtr);
+ return NULL;
}
- if (len > 0) {
- len /= 2;
- } else if (len < 0) {
+ if (len < 0) {
len = wcslen(string);
+ } else {
+ len /= 2;
}
return Tcl_UniCharToUtfDString(string, len, dsPtr);
}
diff --git a/win/tclWinFCmd.c b/win/tclWinFCmd.c
index a69dbe5..c3ced34 100644
--- a/win/tclWinFCmd.c
+++ b/win/tclWinFCmd.c
@@ -337,7 +337,7 @@ DoRenameFile(
* character is either end-of-string or a directory separator
*/
- if ((strncmp(src, dst, (size_t) Tcl_DStringLength(&srcString))==0)
+ if ((strncmp(src, dst, Tcl_DStringLength(&srcString))==0)
&& (dst[Tcl_DStringLength(&srcString)] == '\\'
|| dst[Tcl_DStringLength(&srcString)] == '/'
|| dst[Tcl_DStringLength(&srcString)] == '\0')) {
@@ -1649,7 +1649,6 @@ ConvertFileNameFormat(
* likely to lead to infinite loops.
*/
- Tcl_DStringInit(&ds);
tempString = TclGetString(tempPath);
nativeName = Tcl_WinUtfToTChar(tempString, tempPath->length, &ds);
Tcl_DecrRefCount(tempPath);