diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-01-17 16:36:19 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-02-11 21:57:53 (GMT) |
commit | 7b8725bf8472ebf4781ddd60ef8fcca9c3ad98dd (patch) | |
tree | c7f440ea9c81f49b066c9dd196ce705d288558d4 /Source/cmMacroCommand.cxx | |
parent | 7ee56f03999e8605cc2cbe85a3a7b7159e639e5d (diff) | |
download | CMake-7b8725bf8472ebf4781ddd60ef8fcca9c3ad98dd.zip CMake-7b8725bf8472ebf4781ddd60ef8fcca9c3ad98dd.tar.gz CMake-7b8725bf8472ebf4781ddd60ef8fcca9c3ad98dd.tar.bz2 |
Convert loops populating maybe-empty content into the common pattern.
Diffstat (limited to 'Source/cmMacroCommand.cxx')
-rw-r--r-- | Source/cmMacroCommand.cxx | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx index 657e750..81aaf3e 100644 --- a/Source/cmMacroCommand.cxx +++ b/Source/cmMacroCommand.cxx @@ -166,15 +166,17 @@ bool cmMacroHelperCommand::InvokeInitialPass { if (expandedArgs.size() > this->Args.size() - 1) { + if (!argnDef.empty() && !expandedArgs.empty()) + { + argnDef += ";"; + } std::vector<std::string>::const_iterator eit = expandedArgs.begin() + (this->Args.size() - 1); + const char* sep = ""; for( ; eit != expandedArgs.end(); ++eit) { - if (!argnDef.empty()) - { - argnDef += ";"; - } - argnDef += *eit; + argnDef += sep + *eit; + sep = ";"; } } argnDefInitialized = true; @@ -191,14 +193,17 @@ bool cmMacroHelperCommand::InvokeInitialPass // repleace ARGV, compute it only once if (!argvDefInitialized) { + if (!argvDef.empty() && !expandedArgs.empty()) + { + argvDef += ";"; + } + const char* sep = ""; std::vector<std::string>::const_iterator eit; for(eit = expandedArgs.begin(); eit != expandedArgs.end(); ++eit) { - if (!argvDef.empty()) - { - argvDef += ";"; - } + argvDef += sep; argvDef += *eit; + sep = ";"; } argvDefInitialized = true; } |