summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmSystemTools.cxx8
-rw-r--r--Source/cmSystemTools.h3
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