Subject: [792641f95b]: Normalized win32 paths should never contain backslash.

From: "jan.nijtmans" <[email-masked]>
Date: Thu, 10 Apr 2014 13:32:14 +0000

---
 win/tclWinFCmd.c |  5 +++++
 win/tclWinFile.c | 15 ++++++---------
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/win/tclWinFCmd.c b/win/tclWinFCmd.c
index 8999831..441337e 100644
--- a/win/tclWinFCmd.c
+++ b/win/tclWinFCmd.c
@@ -1156,7 +1156,12 @@ DoRemoveJustDirectory(
 
   end:
     if (errorPtr != NULL) {
+	char *p;
 	Tcl_WinTCharToUtf(nativePath, -1, errorPtr);
+	p = Tcl_DStringValue(errorPtr);
+	for (; *p; ++p) {
+	    if (*p == '\\') *p = '/';
+	}
     }
     return TCL_ERROR;
 
diff --git a/win/tclWinFile.c b/win/tclWinFile.c
index 676c443..ed0c40f 100644
--- a/win/tclWinFile.c
+++ b/win/tclWinFile.c
@@ -3197,17 +3197,14 @@ TclNativeCreateNativeRep(
     }
 
     str = Tcl_GetStringFromObj(validPathPtr, &len);
-    if (str[0] == '/' && str[1] == '/' && str[2] == '?' && str[3] == '/') {
-	char *p;
-
-	for (p = str; p && *p; ++p) {
-	    if (*p == '/') {
-		*p = '\\';
-	    }
-	}
-    }
     Tcl_WinUtfToTChar(str, len, &ds);
     if (tclWinProcs->useWide) {
+	WCHAR *wp = (WCHAR *) Tcl_DStringValue(&ds);
+	for (; *wp; ++wp) {
+	    if (*wp=='/') {
+		*wp = '\\';
+	    }
+	}
 	len = Tcl_DStringLength(&ds) + sizeof(WCHAR);
     } else {
 	len = Tcl_DStringLength(&ds) + sizeof(char);
-- 
cgit v0.12