From 11ecc31d0a2da0090195a682364fb4628f55673a Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sun, 25 Jan 2015 15:44:49 +0100 Subject: cmMacroCommand: Execute loop only if it has an effect. --- Source/cmMacroCommand.cxx | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx index c1eb35e..c1e7cbb 100644 --- a/Source/cmMacroCommand.cxx +++ b/Source/cmMacroCommand.cxx @@ -164,20 +164,23 @@ bool cmMacroHelperCommand::InvokeInitialPass { if (!argnDefInitialized) { - std::vector::const_iterator eit - = expandedArgs.begin(); - std::vector::size_type cnt = 0; - for( ; eit != expandedArgs.end(); ++eit) + if (expandedArgs.size() > this->Args.size() - 1) { - if ( cnt >= this->Args.size()-1 ) + std::vector::const_iterator eit + = expandedArgs.begin(); + std::vector::size_type cnt = 0; + for( ; eit != expandedArgs.end(); ++eit) { - if (!argnDef.empty()) + if ( cnt >= this->Args.size()-1 ) { - argnDef += ";"; + if (!argnDef.empty()) + { + argnDef += ";"; + } + argnDef += *eit; } - argnDef += *eit; + cnt ++; } - cnt ++; } argnDefInitialized = true; } -- cgit v0.12