KWSys 2013-07-10 (beef6819)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ beef6819 | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' f6c4c247..beef6819
Brad King (1):
      beef6819 SystemTools: Implement IsSubDirectory without loop

Change-Id: Ifab0c0384c7fbf1f9fc934918573a49b38f7bc0a
This commit is contained in:
KWSys Robot 2013-07-10 08:16:24 -04:00 committed by Brad King
parent 2e3c935284
commit 0a44fa4c6c
1 changed files with 4 additions and 8 deletions

View File

@ -4261,17 +4261,13 @@ bool SystemTools::IsSubDirectory(const char* cSubdir, const char* cDir)
}
kwsys_stl::string subdir = cSubdir;
kwsys_stl::string dir = cDir;
SystemTools::ConvertToUnixSlashes(subdir);
SystemTools::ConvertToUnixSlashes(dir);
kwsys_stl::string path = subdir;
do
if(subdir.size() > dir.size() && subdir[dir.size()] == '/')
{
path = SystemTools::GetParentDirectory(path.c_str());
if(SystemTools::ComparePath(dir.c_str(), path.c_str()))
{
return true;
}
std::string s = subdir.substr(0, dir.size());
return SystemTools::ComparePath(s.c_str(), dir.c_str());
}
while ( path.size() > dir.size() );
return false;
}