瀏覽代碼

cmLocalGenerator: Convert GetFeature recursion to loop.

Stephen Kelly 10 年之前
父節點
當前提交
7441fde34a
共有 1 個文件被更改,包括 8 次插入8 次删除
  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;
 }
 
 //----------------------------------------------------------------------------