Browse Source

BUG: fix for 3815 seg fault

Bill Hoffman 19 years ago
parent
commit
d99ee73dff
1 changed files with 10 additions and 4 deletions
  1. 10 4
      Source/cmMacroCommand.cxx

+ 10 - 4
Source/cmMacroCommand.cxx

@@ -235,14 +235,20 @@ bool cmMacroHelperCommand::InvokeInitialPass
       }
     if(!this->Makefile->ExecuteCommand(newLFF))
       {
-      const char* filePath = args[0].FilePath;
-      if(!filePath)
+      cmListFileArgument arg;
+      if(args.size())
         {
-        filePath = "Unknown";
+        arg.FilePath = args[0].FilePath;
+        arg.Line = args[0].Line;
+        }
+      else
+        {
+        arg.FilePath =  "Unknown";
+        arg.Line = 0;
         }
       cmOStringStream error;
       error << "Error in cmake code at\n"
-            << filePath << ":" << args[0].Line << ":\n"
+            << arg.FilePath << ":" << arg.Line << ":\n"
             << "A command failed during the invocation of macro \""
             << this->Args[0].c_str() << "\".";
       cmSystemTools::Error(error.str().c_str());