Author: stella.stamenova
Date: Wed Jul 18 08:21:54 2018
New Revision: 337395

URL: http://llvm.org/viewvc/llvm-project?rev=337395&view=rev
Log:
[windows] Use a well-known path for ComSpec if we fail to retrieve it

Summary: Right now we always try to retrieve ComSpec and if we fail, we give 
up. This rarely fails, but we can update the logic so that we fail even less 
frequently. Since there is a well-known path (albeit not always correct), try 
the path when we failed to retrieve it. Note that on other platforms, we 
generally just return a well-known path without any checking.

Reviewers: asmith, zturner, labath

Reviewed By: zturner, labath

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D49451

Modified:
    lldb/trunk/source/Host/windows/HostInfoWindows.cpp

Modified: lldb/trunk/source/Host/windows/HostInfoWindows.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/windows/HostInfoWindows.cpp?rev=337395&r1=337394&r2=337395&view=diff
==============================================================================
--- lldb/trunk/source/Host/windows/HostInfoWindows.cpp (original)
+++ lldb/trunk/source/Host/windows/HostInfoWindows.cpp Wed Jul 18 08:21:54 2018
@@ -98,9 +98,14 @@ FileSpec HostInfoWindows::GetProgramFile
 }
 
 FileSpec HostInfoWindows::GetDefaultShell() {
+  // Try to retrieve ComSpec from the environment. On the rare occasion
+  // that it fails, try a well-known path for ComSpec instead.
+
   std::string shell;
-  GetEnvironmentVar("ComSpec", shell);
-  return FileSpec(shell, false);
+  if (GetEnvironmentVar("ComSpec", shell))
+    return FileSpec(shell, false);
+
+  return FileSpec("C:\\Windows\\system32\\cmd.exe", false);
 }
 
 bool HostInfoWindows::GetEnvironmentVar(const std::string &var_name,


_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to