Browse Source

cmLocalGenerator: Convert GetFeature recursion to loop.

Stephen Kelly 10 years ago
parent
commit
7441fde34a
1 changed files with 8 additions and 8 deletions
  1. 8 8
      Source/cmLocalGenerator.cxx

+ 8 - 8
Source/cmLocalGenerator.cxx

@@ -2376,16 +2376,16 @@ const char* cmLocalGenerator::GetFeature(const std::string& feature,
     featureName += "_";
     featureName += cmSystemTools::UpperCase(config);
     }
-  if(const char* value = this->Makefile->GetProperty(featureName))
+  cmLocalGenerator* lg = this;
+  while(lg)
     {
-    return value;
-    }
-  cmLocalGenerator* parent = this->GetParent();
-  if(!parent)
-    {
-    return 0;
+    if(const char* value = lg->GetMakefile()->GetProperty(featureName))
+      {
+      return value;
+      }
+    lg = lg->GetParent();
     }
-  return parent->GetFeature(feature, config);
+  return 0;
 }
 
 //----------------------------------------------------------------------------