summaryrefslogtreecommitdiffstats
path: root/generic/tclFileName.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2012-06-28 19:59:10 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2012-06-28 19:59:10 (GMT)
commiteca033cfb854b6950a21b858085a58d0f9002860 (patch)
treec177b306cc7eabdede0019b7baa94421273e2a89 /generic/tclFileName.c
parenta9f64ab24b5965c3bf6f65e0de8b8706fc38ec7c (diff)
parent3275986a1aad85bc313bd0c5ce901b5124dc61de (diff)
downloadtcl-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.c29
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);
}
/*