summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-12-14 23:12:28 (GMT)
committerBrad King <brad.king@kitware.com>2010-12-14 23:13:03 (GMT)
commit3a14b6e5561feb33225d61fd2897d79c2779809b (patch)
treeac4cd5c4771349569fc3abf88830d4b7463b99cc /Source
parent2d1aa4ad06eedf6bc677c8ebf757f4978a839e02 (diff)
downloadCMake-3a14b6e5561feb33225d61fd2897d79c2779809b.zip
CMake-3a14b6e5561feb33225d61fd2897d79c2779809b.tar.gz
CMake-3a14b6e5561feb33225d61fd2897d79c2779809b.tar.bz2
KWSys: Do not mangle UNC paths in ConvertToUnixOutputPath (#10206)
This method replaces '//' with '/' to make the paths look nicer. Originally it correctly skipped a leading '//' in a UNC path as the comment says. However, commit "Removed extra variable initializations" (2005-04-15) accidentally removed the "pos=1" initializer. It was then incorrectly restored by commit "Added missing variable initialization" (2005-04-15) as just "pos=0". Restore the proper initializer. The test for this added by commit "better coverage" (2006-07-31) included incorrect output for a sample UNC-like path. Fix it.
Diffstat (limited to 'Source')
-rw-r--r--Source/kwsys/SystemTools.cxx2
-rw-r--r--Source/kwsys/testSystemTools.cxx2
2 files changed, 2 insertions, 2 deletions
diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx
index 7638e4a..60d6869 100644
--- a/Source/kwsys/SystemTools.cxx
+++ b/Source/kwsys/SystemTools.cxx
@@ -1640,7 +1640,7 @@ kwsys_stl::string SystemTools::ConvertToUnixOutputPath(const char* path)
kwsys_stl::string ret = path;
// remove // except at the beginning might be a cygwin drive
- kwsys_stl::string::size_type pos=0;
+ kwsys_stl::string::size_type pos=1;
while((pos = ret.find("//", pos)) != kwsys_stl::string::npos)
{
ret.erase(pos, 1);
diff --git a/Source/kwsys/testSystemTools.cxx b/Source/kwsys/testSystemTools.cxx
index ad35c34..c0e74af 100644
--- a/Source/kwsys/testSystemTools.cxx
+++ b/Source/kwsys/testSystemTools.cxx
@@ -297,7 +297,7 @@ bool CheckStringOperations()
if (kwsys::SystemTools::ConvertToUnixOutputPath
("//Local Mojo/Hex Power Pack/Iffy Voodoo") !=
- "/Local\\ Mojo/Hex\\ Power\\ Pack/Iffy\\ Voodoo")
+ "//Local\\ Mojo/Hex\\ Power\\ Pack/Iffy\\ Voodoo")
{
kwsys_ios::cerr
<< "Problem with ConvertToUnixOutputPath "