summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2006-05-13 23:21:04 (GMT)
committerdgp <dgp@users.sourceforge.net>2006-05-13 23:21:04 (GMT)
commit6de03f6606a051f169d86acfa3eaace8d12dc2ce (patch)
tree66d8545881a665a1fc9cfd5ad365e20798677e49
parent26603fe98b72353a826476c914038ca5c66cf9e1 (diff)
downloadtcl-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--ChangeLog5
-rw-r--r--generic/tclFileName.c12
2 files changed, 13 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index f4b5bac..afef208 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
+ }
}
/*