[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.115 and 1.116

version 1.115, 2015/12/13 18:31:47 version 1.116, 2015/12/13 21:17:37
Line 207 
Line 207 
         NULL          NULL
 };  };
   
 static void     cmd_clear_state(struct cmd_state *);  static void              cmd_clear_state(struct cmd_state *);
 static int      cmd_set_state_flag(struct cmd *, struct cmd_q *, char);  static struct client    *cmd_get_state_client(struct cmd_q *, int);
   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 579 
Line 580 
         return (0);          return (0);
 }  }
   
   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);
           }
   }
   
 int  int
 cmd_prepare_state(struct cmd *cmd, struct cmd_q *cmdq)  cmd_prepare_state(struct cmd *cmd, struct cmd_q *cmdq)
 {  {
         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, quiet;          int                      error, quiet;
   
Line 606 
Line 626 
          */           */
         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_find_client(cmdq, NULL, 1);                  state->c = cmd_get_state_client(cmdq, 1);
                 break;                  break;
         case CMD_CLIENT_C:          case CMD_CLIENT_C:
                 state->c = cmd_find_client(cmdq, args_get(args, 'c'), quiet);                  cflag = args_get(args, 'c');
                   if (cflag == NULL)
                           state->c = cmd_get_state_client(cmdq, quiet);
                   else
                           state->c = cmd_find_client(cmdq, cflag, quiet);
                 if (!quiet && state->c == NULL)                  if (!quiet && state->c == NULL)
                         return (-1);                          return (-1);
                 break;                  break;
         case CMD_CLIENT_T:          case CMD_CLIENT_T:
                   tflag = args_get(args, 't');
                   if (tflag == NULL)
                           state->c = cmd_get_state_client(cmdq, 0);
                   else
                           state->c = cmd_find_client(cmdq, tflag, 0);
                 state->c = cmd_find_client(cmdq, args_get(args, 't'), quiet);                  state->c = cmd_find_client(cmdq, args_get(args, 't'), quiet);
                 if (!quiet && state->c == NULL)                  if (!quiet && state->c == NULL)
                         return (-1);                          return (-1);

Legend:
Removed from v.1.115  
changed lines
  Added in v.1.116