Fix possible exception
authorDmitry Trofimov <dmitry.trofimov@jetbrains.com>
Thu, 13 Apr 2017 14:57:52 +0000 (16:57 +0200)
committerDmitry Trofimov <dmitry.trofimov@jetbrains.com>
Tue, 25 Apr 2017 18:33:01 +0000 (20:33 +0200)
plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java

index 8a19ebdba87e20953a573d4c070c24f1d8772bd6..7a81f2e31a89e2e263b3611d3a1055ea68cba51c 100644 (file)
@@ -17,7 +17,6 @@ package org.jetbrains.plugins.terminal;
 
 import com.google.common.collect.Lists;
 import com.intellij.execution.TaskExecutor;
-import com.intellij.execution.configurations.EncodingEnvironmentUtil;
 import com.intellij.execution.process.ProcessAdapter;
 import com.intellij.execution.process.ProcessEvent;
 import com.intellij.execution.process.ProcessHandler;
@@ -71,8 +70,13 @@ public class LocalTerminalDirectRunner extends AbstractTerminalRunner<PtyProcess
     return name.equals("bash") || name.equals("sh") || name.equals("zsh");
   }
 
-  private static String getShellName(String path) {
-    return new File(path).getName();
+  private static String getShellName(@Nullable String path) {
+    if (path == null) {
+      return null;
+    }
+    else {
+      return new File(path).getName();
+    }
   }
 
   private static String findRCFile(String shellName) {
@@ -181,9 +185,8 @@ public class LocalTerminalDirectRunner extends AbstractTerminalRunner<PtyProcess
     if (SystemInfo.isUnix) {
       List<String> command = Lists.newArrayList(shellPath.split(" "));
 
-      String shellCommand = command.get(0);
-      String shellName = command.size() > 0 ? getShellName(shellCommand) : null;
-
+      String shellCommand = command.size() > 0 ? command.get(0) : null;
+      String shellName = getShellName(shellCommand);
 
       if (shellName != null) {
         command.remove(0);