diff options
author | dgp <dgp@users.sourceforge.net> | 2004-04-26 15:51:17 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2004-04-26 15:51:17 (GMT) |
commit | 5da08b4c921f9c3f0e6c5c7049595fa6dc33f3b4 (patch) | |
tree | 97463c7bbdd389c18738b045f8a971a534b18cda /unix/tclUnixFCmd.c | |
parent | 61852c42e80484c6c7460fdcc4497a108510088e (diff) | |
download | tcl-5da08b4c921f9c3f0e6c5c7049595fa6dc33f3b4.zip tcl-5da08b4c921f9c3f0e6c5c7049595fa6dc33f3b4.tar.gz tcl-5da08b4c921f9c3f0e6c5c7049595fa6dc33f3b4.tar.bz2 |
* unix/tclUnixFCmd.c (TclpObjNormalizePath): Corrected improper
positioning of returned checkpoint. [Bug 941108]
Diffstat (limited to 'unix/tclUnixFCmd.c')
-rw-r--r-- | unix/tclUnixFCmd.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/unix/tclUnixFCmd.c b/unix/tclUnixFCmd.c index 3bc94ca..430c932 100644 --- a/unix/tclUnixFCmd.c +++ b/unix/tclUnixFCmd.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: tclUnixFCmd.c,v 1.36 2004/04/06 22:25:56 dgp Exp $ + * RCS: @(#) $Id: tclUnixFCmd.c,v 1.37 2004/04/26 15:51:20 dgp Exp $ * * Portions of this code were derived from NetBSD source code which has * the following copyright notice: @@ -1810,9 +1810,18 @@ TclpObjNormalizePath(interp, pathPtr, nextCheckpoint) && (strcmp(normPath, nativePath) == 0)) { /* String is unchanged */ Tcl_DStringFree(&ds); - if (path[nextCheckpoint] != '\0') { - nextCheckpoint++; + /* + * Enable this to have the native FS claim normalization of + * the whole path for existing files. That would permit the + * caller to declare normalization complete without calls to + * additional filesystems. Saving lots of calls is probably + * worth the extra access() time here. When no other FS's + * are registered though, things are less clear. + * + if (0 == access(normPath, F_OK)) { + return pathLen; } + */ return nextCheckpoint; } |