diff options
author | dgp <dgp@users.sourceforge.net> | 2013-02-05 16:47:24 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2013-02-05 16:47:24 (GMT) |
commit | a6ef761ef166016823f580363850ea3bc5e79459 (patch) | |
tree | 26232e907df8f58e67e0dd903720cd71951bb86d /win | |
parent | ee3f25a10fee8fb2301a01194f6f73b949651986 (diff) | |
download | tcl-a6ef761ef166016823f580363850ea3bc5e79459.zip tcl-a6ef761ef166016823f580363850ea3bc5e79459.tar.gz tcl-a6ef761ef166016823f580363850ea3bc5e79459.tar.bz2 |
Fix for Bug 3603434.bug_3603434
Diffstat (limited to 'win')
-rw-r--r-- | win/tclWinFile.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/win/tclWinFile.c b/win/tclWinFile.c index d1078f5..8ea6548 100644 --- a/win/tclWinFile.c +++ b/win/tclWinFile.c @@ -2335,6 +2335,12 @@ TclpObjNormalizePath(interp, pathPtr, nextCheckpoint) } Tcl_DStringAppend(&dsNorm, nativePath, len); lastValidPathEnd = currentPathEndPosition; + } else if (nextCheckpoint == 0) { + /* Path starts with a drive designation + * that's not actually on the system. + * We still must normalize up past the + * first separator. [Bug 3603434] */ + currentPathEndPosition++; } } Tcl_DStringFree(&ds); @@ -2417,6 +2423,12 @@ TclpObjNormalizePath(interp, pathPtr, nextCheckpoint) Tcl_DStringAppend(&dsNorm, nativePath, sizeof(WCHAR)*len); lastValidPathEnd = currentPathEndPosition; + } else if (nextCheckpoint == 0) { + /* Path starts with a drive designation + * that's not actually on the system. + * We still must normalize up past the + * first separator. [Bug 3603434] */ + currentPathEndPosition++; } } Tcl_DStringFree(&ds); |