diff options
| author | dgp@users.sourceforge.net <dgp> | 2004-04-26 15:51:17 (GMT) |
|---|---|---|
| committer | dgp@users.sourceforge.net <dgp> | 2004-04-26 15:51:17 (GMT) |
| commit | 60a6890eecabef1942018099794d8ec06f114983 (patch) | |
| tree | 97463c7bbdd389c18738b045f8a971a534b18cda /unix/tclUnixFCmd.c | |
| parent | 1c63c4ef5289ae6261c1279acf58e53732f892b3 (diff) | |
| download | tcl-60a6890eecabef1942018099794d8ec06f114983.zip tcl-60a6890eecabef1942018099794d8ec06f114983.tar.gz tcl-60a6890eecabef1942018099794d8ec06f114983.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; } |
