[BACK]Return to window.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/window.c between version 1.79 and 1.80

version 1.79, 2012/04/08 06:47:26 version 1.80, 2012/05/28 08:55:43
Line 739 
Line 739 
                 clear_signals(1);                  clear_signals(1);
                 log_close();                  log_close();
   
                 if (*wp->cmd != '\0') {                  setenv("SHELL", wp->shell, 1);
                         /* Set SHELL but only if it is currently not useful. */                  ptr = strrchr(wp->shell, '/');
                         shell = getenv("SHELL");  
                         if (checkshell(shell))  
                                 setenv("SHELL", wp->shell, 1);  
   
                         execl(_PATH_BSHELL, "sh", "-c", wp->cmd, (char *) NULL);                  if (*wp->cmd != '\0') {
                           /* Use the command. */
                           if (ptr != NULL && *(ptr + 1) != '\0')
                                   xasprintf(&argv0, "%s", ptr + 1);
                           else
                                   xasprintf(&argv0, "%s", wp->shell);
                           execl(wp->shell, argv0, "-c", wp->cmd, (char *) NULL);
                         fatal("execl failed");                          fatal("execl failed");
                 }                  }
   
                 /* No command; fork a login shell. */                  /* No command; fork a login shell. */
                 ptr = strrchr(wp->shell, '/');  
                 if (ptr != NULL && *(ptr + 1) != '\0')                  if (ptr != NULL && *(ptr + 1) != '\0')
                         xasprintf(&argv0, "-%s", ptr + 1);                          xasprintf(&argv0, "-%s", ptr + 1);
                 else                  else
                         xasprintf(&argv0, "-%s", wp->shell);                          xasprintf(&argv0, "-%s", wp->shell);
                 setenv("SHELL", wp->shell, 1);  
                 execl(wp->shell, argv0, (char *) NULL);                  execl(wp->shell, argv0, (char *) NULL);
                 fatal("execl failed");                  fatal("execl failed");
         }          }

Legend:
Removed from v.1.79  
changed lines
  Added in v.1.80