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

Diff for /src/usr.bin/tmux/cmd.c between version 1.113 and 1.114

version 1.113, 2015/12/13 17:58:26 version 1.114, 2015/12/13 18:27:47
Line 207 
Line 207 
         NULL          NULL
 };  };
   
 static void              cmd_clear_state(struct cmd_state *);  static void     cmd_clear_state(struct cmd_state *);
 static struct client    *cmd_get_state_client(struct cmd_q *, int);  static int      cmd_set_state_flag(struct cmd *, struct cmd_q *, char);
 static int               cmd_set_state_flag(struct cmd *, struct cmd_q *, char);  
   
 int  int
 cmd_pack_argv(int argc, char **argv, char *buf, size_t len)  cmd_pack_argv(int argc, char **argv, char *buf, size_t len)
Line 408 
Line 407 
         state->sflag.idx = -1;          state->sflag.idx = -1;
 }  }
   
 static struct client *  
 cmd_get_state_client(struct cmd_q *cmdq, int quiet)  
 {  
         struct cmd      *cmd = cmdq->cmd;  
         struct args     *args = cmd->args;  
   
         switch (cmd->entry->flags & (CMD_CLIENT_C|CMD_CLIENT_T)) {  
         case 0:  
                 return (cmd_find_client(cmdq, NULL, 1));  
         case CMD_CLIENT_C:  
                 return (cmd_find_client(cmdq, args_get(args, 'c'), quiet));  
         case CMD_CLIENT_T:  
                 return (cmd_find_client(cmdq, args_get(args, 't'), quiet));  
         default:  
                 fatalx("both -t and -c for %s", cmd->entry->name);  
         }  
 }  
   
 static int  static int
 cmd_set_state_flag(struct cmd *cmd, struct cmd_q *cmdq, char c)  cmd_set_state_flag(struct cmd *cmd, struct cmd_q *cmdq, char c)
 {  {
Line 603 
Line 584 
 {  {
         struct cmd_state        *state = &cmdq->state;          struct cmd_state        *state = &cmdq->state;
         struct args             *args = cmd->args;          struct args             *args = cmd->args;
         const char              *cflag, *tflag;  
         char                    *tmp;          char                    *tmp;
         int                      error;          int                      error;
   
Line 621 
Line 601 
          */           */
         switch (cmd->entry->flags & (CMD_CLIENT_C|CMD_CLIENT_T)) {          switch (cmd->entry->flags & (CMD_CLIENT_C|CMD_CLIENT_T)) {
         case 0:          case 0:
                 state->c = cmd_get_state_client(cmdq, 1);                  state->c = cmd_find_client(cmdq, NULL, 1);
                 break;                  break;
         case CMD_CLIENT_C:          case CMD_CLIENT_C:
                 cflag = args_get(args, 'c');                  state->c = cmd_find_client(cmdq, args_get(args, 'c'), 0);
                 if (cflag == NULL)  
                         state->c = cmd_get_state_client(cmdq, 0);  
                 else  
                         state->c = cmd_find_client(cmdq, cflag, 0);  
                 if (state->c == NULL)                  if (state->c == NULL)
                         return (-1);                          return (-1);
                 break;                  break;
         case CMD_CLIENT_T:          case CMD_CLIENT_T:
                 tflag = args_get(args, 't');                  state->c = cmd_find_client(cmdq, args_get(args, 't'), 0);
                 if (tflag == NULL)  
                         state->c = cmd_get_state_client(cmdq, 0);  
                 else  
                         state->c = cmd_find_client(cmdq, tflag, 0);  
                 if (state->c == NULL)                  if (state->c == NULL)
                         return (-1);                          return (-1);
                 break;                  break;

Legend:
Removed from v.1.113  
changed lines
  Added in v.1.114