diff options
-rw-r--r-- | ChangeLog | 21 | ||||
-rw-r--r-- | win/tclWinFCmd.c | 13 |
2 files changed, 21 insertions, 13 deletions
@@ -1,15 +1,20 @@ +2002-01-31 Andreas Kupries <andreas_kupries@users.sourceforge.net> + + * win/tclWinFCmd.c: TIP 27: Applied patch fixing CONST warnings on + behalf of Don Porter <dgp@users.sourceforge.net>. + 2002-01-30 Don Porter <dgp@users.sourceforge.net> * generic/tcl.decls: * generic/tcl.h: - * generic/tclInt.h: For each interface identified in the - TIP 27 changes below as a POTENTIAL INCOMPATIBILITY, the - source of the incompatibility has been parameterized so that - it can be removed. When compiling extension code against - the Tcl header files, use the compiler flag -DUSE_NON_CONST - to remove the irresolvable source incompatibilities introduced - by the TIP 27 changes. Resolvable changes are left for extension - authors to resolve. + * generic/tclInt.h: For each interface identified in the TIP 27 + changes below as a POTENTIAL INCOMPATIBILITY, the source of the + incompatibility has been parameterized so that it can be + removed. When compiling extension code against the Tcl header + files, use the compiler flag -DUSE_NON_CONST to remove the + irresolvable source incompatibilities introduced by the TIP 27 + changes. Resolvable changes are left for extension authors to + resolve. * generic/tclDecls.h: make genstubs 2002-01-30 Vince Darley <vincentdarley@users.sourceforge.net> diff --git a/win/tclWinFCmd.c b/win/tclWinFCmd.c index 5ebe7d7..dc1ed7b 100644 --- a/win/tclWinFCmd.c +++ b/win/tclWinFCmd.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinFCmd.c,v 1.20 2002/01/25 21:36:10 dgp Exp $ + * RCS: @(#) $Id: tclWinFCmd.c,v 1.21 2002/01/31 21:07:32 uid37547 Exp $ */ #include "tclWinInt.h" @@ -1824,7 +1824,8 @@ TclpObjNormalizePath(interp, pathPtr, nextCheckpoint) char *nativePath; int nativeLen; - nativePath = Tcl_UtfToExternalDString(NULL, path, -1, &ds); + Tcl_UtfToExternalDString(NULL, path, -1, &ds); + nativePath = Tcl_DStringValue(&ds); nativeLen = Tcl_DStringLength(&ds); /* We're on Windows 95/98 */ @@ -1868,7 +1869,8 @@ TclpObjNormalizePath(interp, pathPtr, nextCheckpoint) */ /* Copy over the valid part of the path and find its length */ - path = Tcl_ExternalToUtfDString(NULL, nativePath, -1, &eDs); + Tcl_ExternalToUtfDString(NULL, nativePath, -1, &eDs); + path = Tcl_DStringValue(&eDs); if (path[1] == ':') { if (path[0] >= 'a' && path[0] <= 'z') { /* Make uppercase */ @@ -1879,10 +1881,11 @@ TclpObjNormalizePath(interp, pathPtr, nextCheckpoint) Tcl_SetStringObj(pathPtr, path, Tcl_DStringLength(&eDs)); Tcl_DStringFree(&eDs); if (lastValidPathEnd != (nativePath + nativeLen)) { + CONST char *tmp; *lastValidPathEnd = '/'; /* Now copy over the invalid (i.e. non-existent) part of the path */ - path = Tcl_ExternalToUtfDString(NULL, lastValidPathEnd, -1, &eDs); - Tcl_AppendToObj(pathPtr, path, Tcl_DStringLength(&eDs)); + tmp = Tcl_ExternalToUtfDString(NULL, lastValidPathEnd, -1, &eDs); + Tcl_AppendToObj(pathPtr, tmp, Tcl_DStringLength(&eDs)); Tcl_DStringFree(&eDs); } Tcl_DStringFree(&ds); |