diff options
author | sebres <sebres@users.sourceforge.net> | 2018-11-22 13:58:37 (GMT) |
---|---|---|
committer | sebres <sebres@users.sourceforge.net> | 2018-11-22 13:58:37 (GMT) |
commit | fb0f0b6c373000a8893904c0eea7580fdc902d20 (patch) | |
tree | 894d2a54a48709df36b07da83c8ccc7bfa9115cf /generic/tclFileName.c | |
parent | e537ff7be6133bfccde0c8e2de74610d17c0e94f (diff) | |
parent | e4f3ce78e3bd0c816cb0a5377ab66a42f9eb7552 (diff) | |
download | tcl-fb0f0b6c373000a8893904c0eea7580fdc902d20.zip tcl-fb0f0b6c373000a8893904c0eea7580fdc902d20.tar.gz tcl-fb0f0b6c373000a8893904c0eea7580fdc902d20.tar.bz2 |
merge 8.5: fixes segfault [7a9dc52b29] and wrong normalization (inside TclJoinPath) for pure relative path-segments; test-cases extended and several windows-related are fixed.
Diffstat (limited to 'generic/tclFileName.c')
-rw-r--r-- | generic/tclFileName.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/generic/tclFileName.c b/generic/tclFileName.c index b566d7f..7afcdaf 100644 --- a/generic/tclFileName.c +++ b/generic/tclFileName.c @@ -808,24 +808,24 @@ Tcl_FSJoinToPath( Tcl_Obj *const objv[]) /* Path elements to join. */ { if (pathPtr == NULL) { - return TclJoinPath(objc, objv); + return TclJoinPath(objc, objv, 0); } if (objc == 0) { - return TclJoinPath(1, &pathPtr); + return TclJoinPath(1, &pathPtr, 0); } if (objc == 1) { Tcl_Obj *pair[2]; pair[0] = pathPtr; pair[1] = objv[0]; - return TclJoinPath(2, pair); + return TclJoinPath(2, pair, 0); } else { int elemc = objc + 1; Tcl_Obj *ret, **elemv = ckalloc(elemc*sizeof(Tcl_Obj *)); elemv[0] = pathPtr; memcpy(elemv+1, objv, objc*sizeof(Tcl_Obj *)); - ret = TclJoinPath(elemc, elemv); + ret = TclJoinPath(elemc, elemv, 0); ckfree(elemv); return ret; } |