Commit cb9a9627 authored by Brad King's avatar Brad King
Browse files

Merge branch 'upstream-kwsys' into update-kwsys

Change-Id: If412658ef0e258bf88ea815a4946c3231a733e15
parents 6518f801 6bd7ebff
...@@ -3786,7 +3786,7 @@ bool SystemInformationImplementation::QueryLinuxMemory() ...@@ -3786,7 +3786,7 @@ bool SystemInformationImplementation::QueryLinuxMemory()
return false; return false;
} }
if( unameInfo.release!=0 && strlen(unameInfo.release)>=3 ) if( strlen(unameInfo.release)>=3 )
{ {
// release looks like "2.6.3-15mdk-i686-up-4GB" // release looks like "2.6.3-15mdk-i686-up-4GB"
char majorChar=unameInfo.release[0]; char majorChar=unameInfo.release[0];
......
...@@ -3536,6 +3536,16 @@ static int GetCasePathName(const kwsys_stl::string & pathIn, ...@@ -3536,6 +3536,16 @@ static int GetCasePathName(const kwsys_stl::string & pathIn,
kwsys_stl::string test_str = casePath; kwsys_stl::string test_str = casePath;
test_str += path_components[idx]; test_str += path_components[idx];
// If path component contains wildcards, we skip matching
// because these filenames are not allowed on windows,
// and we do not want to match a different file.
if(path_components[idx].find('*') != kwsys_stl::string::npos ||
path_components[idx].find('?') != kwsys_stl::string::npos)
{
casePath = "";
return 0;
}
WIN32_FIND_DATAW findData; WIN32_FIND_DATAW findData;
HANDLE hFind = ::FindFirstFileW(Encoding::ToWide(test_str).c_str(), HANDLE hFind = ::FindFirstFileW(Encoding::ToWide(test_str).c_str(),
&findData); &findData);
......
...@@ -589,6 +589,28 @@ static bool CheckRelativePaths() ...@@ -589,6 +589,28 @@ static bool CheckRelativePaths()
return res; return res;
} }
static bool CheckCollapsePath(
const kwsys_stl::string& path,
const kwsys_stl::string& expected)
{
kwsys_stl::string result = kwsys::SystemTools::CollapseFullPath(path);
if(expected != result)
{
kwsys_ios::cerr << "CollapseFullPath(" << path
<< ") yielded " << result << " instead of " << expected << kwsys_ios::endl;
return false;
}
return true;
}
static bool CheckCollapsePath()
{
bool res = true;
res &= CheckCollapsePath("/usr/share/*", "/usr/share/*");
res &= CheckCollapsePath("C:/Windows/*", "C:/Windows/*");
return res;
}
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
int testSystemTools(int, char*[]) int testSystemTools(int, char*[])
{ {
...@@ -622,5 +644,7 @@ int testSystemTools(int, char*[]) ...@@ -622,5 +644,7 @@ int testSystemTools(int, char*[])
res &= CheckRelativePaths(); res &= CheckRelativePaths();
res &= CheckCollapsePath();
return res ? 0 : 1; return res ? 0 : 1;
} }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment