stringapi: Use strings for globbing parameters

This commit is contained in:
Ben Boeckel 2014-02-07 15:46:27 -05:00 committed by Brad King
parent 8455dd0a9a
commit 23e9b80f58
2 changed files with 9 additions and 8 deletions

View File

@ -971,13 +971,14 @@ std::string cmSystemTools::ComputeStringMD5(const std::string& input)
#endif
}
void cmSystemTools::Glob(const char *directory, const char *regexp,
void cmSystemTools::Glob(const std::string& directory,
const std::string& regexp,
std::vector<std::string>& files)
{
cmsys::Directory d;
cmsys::RegularExpression reg(regexp);
cmsys::RegularExpression reg(regexp.c_str());
if (d.Load(directory))
if (d.Load(directory.c_str()))
{
size_t numf;
unsigned int i;
@ -994,14 +995,13 @@ void cmSystemTools::Glob(const char *directory, const char *regexp,
}
void cmSystemTools::GlobDirs(const char *fullPath,
void cmSystemTools::GlobDirs(const std::string& path,
std::vector<std::string>& files)
{
std::string path = fullPath;
std::string::size_type pos = path.find("/*");
if(pos == std::string::npos)
{
files.push_back(fullPath);
files.push_back(path);
return;
}
std::string startPath = path.substr(0, pos);

View File

@ -158,9 +158,10 @@ public:
static std::string FileExistsInParentDirectories(const char* fname,
const char* directory, const char* toplevel);
static void Glob(const char *directory, const char *regexp,
static void Glob(const std::string& directory, const std::string& regexp,
std::vector<std::string>& files);
static void GlobDirs(const std::string& fullPath,
std::vector<std::string>& files);
static void GlobDirs(const char *fullPath, std::vector<std::string>& files);
/**
* Try to find a list of files that match the "simple" globbing