diff options
author | dgp <dgp@users.sourceforge.net> | 2006-05-13 23:21:04 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2006-05-13 23:21:04 (GMT) |
commit | 6de03f6606a051f169d86acfa3eaace8d12dc2ce (patch) | |
tree | 66d8545881a665a1fc9cfd5ad365e20798677e49 | |
parent | 26603fe98b72353a826476c914038ca5c66cf9e1 (diff) | |
download | tcl-6de03f6606a051f169d86acfa3eaace8d12dc2ce.zip tcl-6de03f6606a051f169d86acfa3eaace8d12dc2ce.tar.gz tcl-6de03f6606a051f169d86acfa3eaace8d12dc2ce.tar.bz2 |
* generic/tclFileName.c (TclDoGlob): Disabled the partial
normalization done by the recursive glob routine, since changing the
precise string of the pathname broke [glob] on some Tcl_Filesystems.
[Bug 943995]
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | generic/tclFileName.c | 12 |
2 files changed, 13 insertions, 4 deletions
@@ -1,5 +1,10 @@ 2006-05-13 Don Porter <dgp@users.sourceforge.net> + * generic/tclFileName.c (TclDoGlob): Disabled the partial + normalization done by the recursive glob routine, since changing the + precise string of the pathname broke [glob] on some Tcl_Filesystems. + [Bug 943995] + * generic/tclProc.c (ProcCompileProc): When a bump of the compile epoch forces the re-compile of a proc body, take care not to overwrite any Proc struct that may be referred to on the active diff --git a/generic/tclFileName.c b/generic/tclFileName.c index eb59182..0e6c35f 100644 --- a/generic/tclFileName.c +++ b/generic/tclFileName.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclFileName.c,v 1.40.2.11 2005/06/21 19:07:41 kennykb Exp $ + * RCS: @(#) $Id: tclFileName.c,v 1.40.2.12 2006/05/13 23:21:04 dgp Exp $ */ #include "tclInt.h" @@ -2346,6 +2346,9 @@ TclDoGlob(interp, separators, headPtr, tail, types) } else if (strchr(separators, *tail) == NULL) { break; } + if (tclPlatform != TCL_PLATFORM_MAC) { + Tcl_DStringAppend(headPtr, tail, 1); + } count++; } @@ -2387,7 +2390,6 @@ TclDoGlob(interp, separators, headPtr, tail, types) * trailing slash if needed. Otherwise add the slash if * this is the first absolute element, or a later relative * element. Add an extra slash if this is a UNC path. - */ if (*name == ':') { Tcl_DStringAppend(headPtr, ":", 1); @@ -2403,13 +2405,13 @@ TclDoGlob(interp, separators, headPtr, tail, types) Tcl_DStringAppend(headPtr, "/", 1); } } + */ break; - case TCL_PLATFORM_UNIX: + case TCL_PLATFORM_UNIX: { /* * Add a separator if this is the first absolute element, or * a later relative element. - */ if ((*tail != '\0') && (((length > 0) @@ -2417,7 +2419,9 @@ TclDoGlob(interp, separators, headPtr, tail, types) || ((length == 0) && (count > 0)))) { Tcl_DStringAppend(headPtr, "/", 1); } + */ break; + } } /* |