Browse Source

cmMakefile: Improve parsing of CMAKE_MAXIMUM_RECURSION_DEPTH variable

Brad King 2 years ago
parent
commit
fcad8d0630
1 changed files with 5 additions and 6 deletions
  1. 5 6
      Source/cmMakefile.cxx

+ 5 - 6
Source/cmMakefile.cxx

@@ -455,12 +455,11 @@ bool cmMakefile::ExecuteCommand(const cmListFileFunction& lff,
 
   // Check for maximum recursion depth.
   int depth = CMake_DEFAULT_RECURSION_LIMIT;
-  cmValue depthStr = this->GetDefinition("CMAKE_MAXIMUM_RECURSION_DEPTH");
-  if (depthStr) {
-    std::istringstream s(*depthStr);
-    int d;
-    if (s >> d) {
-      depth = d;
+  if (cmValue depthStr =
+        this->GetDefinition("CMAKE_MAXIMUM_RECURSION_DEPTH")) {
+    unsigned long depthUL;
+    if (cmStrToULong(depthStr.GetCStr(), &depthUL)) {
+      depth = static_cast<int>(depthUL);
     }
   }
   if (this->RecursionDepth > depth) {