[BACK]Return to cmd-run-shell.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/cmd-run-shell.c between version 1.40 and 1.41

version 1.40, 2016/10/16 17:55:14 version 1.41, 2016/10/16 19:04:05
Line 29 
Line 29 
  * Runs a command without a window.   * Runs a command without a window.
  */   */
   
 static enum cmd_retval   cmd_run_shell_exec(struct cmd *, struct cmd_q *);  static enum cmd_retval  cmd_run_shell_exec(struct cmd *, struct cmdq_item *);
   
 static void     cmd_run_shell_callback(struct job *);  static void     cmd_run_shell_callback(struct job *);
 static void     cmd_run_shell_free(void *);  static void     cmd_run_shell_free(void *);
Line 49 
Line 49 
 };  };
   
 struct cmd_run_shell_data {  struct cmd_run_shell_data {
         char            *cmd;          char                    *cmd;
         struct cmd_q    *cmdq;          struct cmdq_item        *item;
         int              wp_id;          int                      wp_id;
 };  };
   
 static void  static void
Line 63 
Line 63 
         if (cdata->wp_id != -1)          if (cdata->wp_id != -1)
                 wp = window_pane_find_by_id(cdata->wp_id);                  wp = window_pane_find_by_id(cdata->wp_id);
         if (wp == NULL) {          if (wp == NULL) {
                 cmdq_print(cdata->cmdq, "%s", msg);                  cmdq_print(cdata->item, "%s", msg);
                 return;                  return;
         }          }
   
Line 74 
Line 74 
 }  }
   
 static enum cmd_retval  static enum cmd_retval
 cmd_run_shell_exec(struct cmd *self, struct cmd_q *cmdq)  cmd_run_shell_exec(struct cmd *self, struct cmdq_item *item)
 {  {
         struct args                     *args = self->args;          struct args                     *args = self->args;
         struct cmd_run_shell_data       *cdata;          struct cmd_run_shell_data       *cdata;
         char                            *shellcmd;          char                            *shellcmd;
         struct session                  *s = cmdq->state.tflag.s;          struct session                  *s = item->state.tflag.s;
         struct winlink                  *wl = cmdq->state.tflag.wl;          struct winlink                  *wl = item->state.tflag.wl;
         struct window_pane              *wp = cmdq->state.tflag.wp;          struct window_pane              *wp = item->state.tflag.wp;
         struct format_tree              *ft;          struct format_tree              *ft;
         const char                      *cwd;          const char                      *cwd;
   
         if (cmdq->client != NULL && cmdq->client->session == NULL)          if (item->client != NULL && item->client->session == NULL)
                 cwd = cmdq->client->cwd;                  cwd = item->client->cwd;
         else if (s != NULL)          else if (s != NULL)
                 cwd = s->cwd;                  cwd = s->cwd;
         else          else
                 cwd = NULL;                  cwd = NULL;
   
         ft = format_create(cmdq, 0);          ft = format_create(item, 0);
         format_defaults(ft, cmdq->state.c, s, wl, wp);          format_defaults(ft, item->state.c, s, wl, wp);
         shellcmd = format_expand(ft, args->argv[0]);          shellcmd = format_expand(ft, args->argv[0]);
         format_free(ft);          format_free(ft);
   
Line 111 
Line 111 
                 cdata->wp_id = -1;                  cdata->wp_id = -1;
   
         if (!args_has(args, 'b'))          if (!args_has(args, 'b'))
                 cdata->cmdq = cmdq;                  cdata->item = item;
   
         job_run(shellcmd, s, cwd, cmd_run_shell_callback, cmd_run_shell_free,          job_run(shellcmd, s, cwd, cmd_run_shell_callback, cmd_run_shell_free,
             cdata);              cdata);
Line 163 
Line 163 
                 cmd_run_shell_print(job, msg);                  cmd_run_shell_print(job, msg);
         free(msg);          free(msg);
   
         if (cdata->cmdq != NULL)          if (cdata->item != NULL)
                 cdata->cmdq->flags &= ~CMD_Q_WAITING;                  cdata->item->flags &= ~CMDQ_WAITING;
 }  }
   
 static void  static void

Legend:
Removed from v.1.40  
changed lines
  Added in v.1.41