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

Diff for /src/usr.bin/tmux/cmd-attach-session.c between version 1.77 and 1.78

version 1.77, 2019/04/17 14:37:48 version 1.78, 2019/06/03 18:28:37
Line 37 
Line 37 
         .name = "attach-session",          .name = "attach-session",
         .alias = "attach",          .alias = "attach",
   
         .args = { "c:dErt:", 0, 0 },          .args = { "c:dErt:x", 0, 0 },
         .usage = "[-dEr] [-c working-directory] " CMD_TARGET_SESSION_USAGE,          .usage = "[-dErx] [-c working-directory] " CMD_TARGET_SESSION_USAGE,
   
         /* -t is special */          /* -t is special */
   
Line 48 
Line 48 
   
 enum cmd_retval  enum cmd_retval
 cmd_attach_session(struct cmdq_item *item, const char *tflag, int dflag,  cmd_attach_session(struct cmdq_item *item, const char *tflag, int dflag,
     int rflag, const char *cflag, int Eflag)      int xflag, int rflag, const char *cflag, int Eflag)
 {  {
         struct cmd_find_state   *current = &item->shared->current;          struct cmd_find_state   *current = &item->shared->current;
         enum cmd_find_type       type;          enum cmd_find_type       type;
Line 58 
Line 58 
         struct winlink          *wl;          struct winlink          *wl;
         struct window_pane      *wp;          struct window_pane      *wp;
         char                    *cause;          char                    *cause;
           enum msgtype             msgtype;
   
         if (RB_EMPTY(&sessions)) {          if (RB_EMPTY(&sessions)) {
                 cmdq_error(item, "no sessions");                  cmdq_error(item, "no sessions");
Line 102 
Line 103 
   
         c->last_session = c->session;          c->last_session = c->session;
         if (c->session != NULL) {          if (c->session != NULL) {
                 if (dflag) {                  if (dflag || xflag) {
                           if (xflag)
                                   msgtype = MSG_DETACHKILL;
                           else
                                   msgtype = MSG_DETACH;
                         TAILQ_FOREACH(c_loop, &clients, entry) {                          TAILQ_FOREACH(c_loop, &clients, entry) {
                                 if (c_loop->session != s || c == c_loop)                                  if (c_loop->session != s || c == c_loop)
                                         continue;                                          continue;
                                 server_client_detach(c_loop, MSG_DETACH);                                  server_client_detach(c_loop, msgtype);
                         }                          }
                 }                  }
                 if (!Eflag)                  if (!Eflag)
Line 131 
Line 136 
                 if (rflag)                  if (rflag)
                         c->flags |= CLIENT_READONLY;                          c->flags |= CLIENT_READONLY;
   
                 if (dflag) {                  if (dflag || xflag) {
                           if (xflag)
                                   msgtype = MSG_DETACHKILL;
                           else
                                   msgtype = MSG_DETACH;
                         TAILQ_FOREACH(c_loop, &clients, entry) {                          TAILQ_FOREACH(c_loop, &clients, entry) {
                                 if (c_loop->session != s || c == c_loop)                                  if (c_loop->session != s || c == c_loop)
                                         continue;                                          continue;
                                 server_client_detach(c_loop, MSG_DETACH);                                  server_client_detach(c_loop, msgtype);
                         }                          }
                 }                  }
                 if (!Eflag)                  if (!Eflag)
Line 169 
Line 178 
         struct args     *args = self->args;          struct args     *args = self->args;
   
         return (cmd_attach_session(item, args_get(args, 't'),          return (cmd_attach_session(item, args_get(args, 't'),
             args_has(args, 'd'), args_has(args, 'r'), args_get(args, 'c'),              args_has(args, 'd'), args_has(args, 'x'), args_has(args, 'r'),
             args_has(args, 'E')));              args_get(args, 'c'), args_has(args, 'E')));
 }  }

Legend:
Removed from v.1.77  
changed lines
  Added in v.1.78