Merge branch 'upstream-KWSys' into update-kwsys

* upstream-KWSys:
  KWSys 2017-09-14 (d85b17e7)
This commit is contained in:
Brad King 2017-09-14 08:44:26 -04:00
commit f02eced51d
2 changed files with 0 additions and 66 deletions

View File

@ -4102,66 +4102,6 @@ bool SystemTools::GetShortPath(const std::string& path, std::string& shortPath)
#endif
}
void SystemTools::SplitProgramFromArgs(const std::string& path,
std::string& program, std::string& args)
{
// see if this is a full path to a program
// if so then set program to path and args to nothing
if (SystemTools::FileExists(path)) {
program = path;
args = "";
return;
}
// Try to find the program in the path, note the program
// may have spaces in its name so we have to look for it
std::vector<std::string> e;
std::string findProg = SystemTools::FindProgram(path, e);
if (!findProg.empty()) {
program = findProg;
args = "";
return;
}
// Now try and peel off space separated chunks from the end of the string
// so the largest path possible is found allowing for spaces in the path
std::string dir = path;
std::string::size_type spacePos = dir.rfind(' ');
while (spacePos != std::string::npos) {
std::string tryProg = dir.substr(0, spacePos);
// See if the file exists
if (SystemTools::FileExists(tryProg)) {
program = tryProg;
// remove trailing spaces from program
std::string::size_type pos = program.size() - 1;
while (program[pos] == ' ') {
program.erase(pos);
pos--;
}
args = dir.substr(spacePos, dir.size() - spacePos);
return;
}
// Now try and find the program in the path
findProg = SystemTools::FindProgram(tryProg, e);
if (!findProg.empty()) {
program = findProg;
// remove trailing spaces from program
std::string::size_type pos = program.size() - 1;
while (program[pos] == ' ') {
program.erase(pos);
pos--;
}
args = dir.substr(spacePos, dir.size() - spacePos);
return;
}
// move past the space for the next search
spacePos--;
spacePos = dir.rfind(' ', spacePos);
}
program = "";
args = "";
}
std::string SystemTools::GetCurrentDateTime(const char* format)
{
char buf[1024];

View File

@ -497,12 +497,6 @@ public:
*/
static std::string GetFilenameName(const std::string&);
/**
* Split a program from its arguments and handle spaces in the paths
*/
static void SplitProgramFromArgs(const std::string& path,
std::string& program, std::string& args);
/**
* Return longest file extension of a full filename (dot included)
*/