diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2012-06-28 19:59:10 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2012-06-28 19:59:10 (GMT) |
| commit | eca033cfb854b6950a21b858085a58d0f9002860 (patch) | |
| tree | c177b306cc7eabdede0019b7baa94421273e2a89 /generic/tclFileName.c | |
| parent | a9f64ab24b5965c3bf6f65e0de8b8706fc38ec7c (diff) | |
| parent | 3275986a1aad85bc313bd0c5ce901b5124dc61de (diff) | |
| download | tcl-eca033cfb854b6950a21b858085a58d0f9002860.zip tcl-eca033cfb854b6950a21b858085a58d0f9002860.tar.gz tcl-eca033cfb854b6950a21b858085a58d0f9002860.tar.bz2 | |
merge trunk
bug fix: variable $key not found
make it work on cygwin as well
Diffstat (limited to 'generic/tclFileName.c')
| -rw-r--r-- | generic/tclFileName.c | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/generic/tclFileName.c b/generic/tclFileName.c index 4c57256..a6bb932 100644 --- a/generic/tclFileName.c +++ b/generic/tclFileName.c @@ -414,9 +414,17 @@ TclpGetNativePathType( } #endif if (path[0] == '/') { +#ifdef __CYGWIN__ + /* + * Check for Cygwin // network path prefix + */ + if (path[1] == '/') { + path++; + } +#endif if (driveNameLengthPtr != NULL) { /* - * We need this addition in case the QNX code was used. + * We need this addition in case the QNX or Cygwin code was used. */ *driveNameLengthPtr = (1 + path - origPath); @@ -643,11 +651,20 @@ SplitUnixPath( } #endif - if (path[0] == '/') { - Tcl_ListObjAppendElement(NULL, result, Tcl_NewStringObj("/",1)); - p = path+1; - } else { - p = path; + p = path; + if (*p == '/') { + Tcl_Obj *rootElt = Tcl_NewStringObj("/", 1); + p++; +#ifdef __CYGWIN__ + /* + * Check for Cygwin // network path prefix + */ + if (*p == '/') { + Tcl_AppendToObj(rootElt, "/", 1); + p++; + } +#endif + Tcl_ListObjAppendElement(NULL, result, rootElt); } /* |
