diff options
-rw-r--r-- | Source/cmSystemTools.cxx | 8 | ||||
-rw-r--r-- | Source/cmSystemTools.h | 3 |
2 files changed, 8 insertions, 3 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 5102fa2..6f34c8e 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -1609,7 +1609,8 @@ void cmSystemTools::GlobDirs(const char *fullPath, void cmSystemTools::ExpandListArguments(std::vector<std::string> const& arguments, - std::vector<std::string>& newargs) + std::vector<std::string>& newargs, + bool ignore_empty) { std::vector<std::string>::const_iterator i; for(i = arguments.begin();i != arguments.end(); ++i) @@ -1630,7 +1631,10 @@ void cmSystemTools::ExpandListArguments(std::vector<std::string> const& argument { len = i->size()-start; } - newargs.push_back(i->substr(start, len)); + if (ignore_empty == false || len > 0) + { + newargs.push_back(i->substr(start, len)); + } start = endpos+1; } } diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index 9cbd62a..b9f6842 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -48,7 +48,8 @@ public: * containing the expanded versions of all arguments in argsIn. */ static void ExpandListArguments(std::vector<std::string> const& argsIn, - std::vector<std::string>& argsOut); + std::vector<std::string>& argsOut, + bool ignore_empty = false); /** * Look for and replace registry values in a string |