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

Diff for /src/usr.bin/tmux/cmd-queue.c between version 1.81 and 1.82

version 1.81, 2020/04/10 07:44:26 version 1.82, 2020/04/13 08:26:27
Line 209 
Line 209 
 {  {
         struct cmdq_item        *item, *first = NULL, *last = NULL;          struct cmdq_item        *item, *first = NULL, *last = NULL;
         struct cmd              *cmd;          struct cmd              *cmd;
           const struct cmd_entry  *entry;
         struct cmdq_shared      *shared = NULL;          struct cmdq_shared      *shared = NULL;
         u_int                    group = 0;          u_int                    group, last_group = 0;
   
         TAILQ_FOREACH(cmd, &cmdlist->list, qentry) {          cmd = cmd_list_first(cmdlist, &group);
                 if (cmd->group != group) {          while (cmd != NULL) {
                   if (group != last_group) {
                         shared = xcalloc(1, sizeof *shared);                          shared = xcalloc(1, sizeof *shared);
                         if (current != NULL)                          if (current != NULL)
                                 cmd_find_copy_state(&shared->current, current);                                  cmd_find_copy_state(&shared->current, current);
Line 221 
Line 223 
                                 cmd_find_clear_state(&shared->current, 0);                                  cmd_find_clear_state(&shared->current, 0);
                         if (m != NULL)                          if (m != NULL)
                                 memcpy(&shared->mouse, m, sizeof shared->mouse);                                  memcpy(&shared->mouse, m, sizeof shared->mouse);
                         group = cmd->group;                          last_group = group;
                 }                  }
                   entry = cmd_get_entry(cmd);
   
                 item = xcalloc(1, sizeof *item);                  item = xcalloc(1, sizeof *item);
                 xasprintf(&item->name, "[%s/%p]", cmd->entry->name, item);                  xasprintf(&item->name, "[%s/%p]", entry->name, item);
                 item->type = CMDQ_COMMAND;                  item->type = CMDQ_COMMAND;
   
                 item->group = cmd->group;                  item->group = group;
                 item->flags = flags;                  item->flags = flags;
   
                 item->shared = shared;                  item->shared = shared;
Line 245 
Line 248 
                 if (last != NULL)                  if (last != NULL)
                         last->next = item;                          last->next = item;
                 last = item;                  last = item;
   
                   cmd = cmd_list_next(cmd, &group);
         }          }
         return (first);          return (first);
 }  }
Line 261 
Line 266 
                 return (CMD_RETURN_NORMAL);                  return (CMD_RETURN_NORMAL);
         }          }
   
         value = args_get(item->cmd->args, flag->flag);          value = args_get(cmd_get_args(item->cmd), flag->flag);
         if (cmd_find_target(fs, item, value, flag->type, flag->flags) != 0) {          if (cmd_find_target(fs, item, value, flag->type, flag->flags) != 0) {
                 cmd_find_clear_state(fs, 0);                  cmd_find_clear_state(fs, 0);
                 return (CMD_RETURN_ERROR);                  return (CMD_RETURN_ERROR);
Line 277 
Line 282 
         const char              *name = cmdq_name(c);          const char              *name = cmdq_name(c);
         struct cmdq_shared      *shared = item->shared;          struct cmdq_shared      *shared = item->shared;
         struct cmd              *cmd = item->cmd;          struct cmd              *cmd = item->cmd;
         const struct cmd_entry  *entry = cmd->entry;          const struct cmd_entry  *entry = cmd_get_entry(cmd);
         enum cmd_retval          retval;          enum cmd_retval          retval;
         struct cmd_find_state   *fsp, fs;          struct cmd_find_state   *fsp, fs;
         int                      flags;          int                      flags;
Line 528 
Line 533 
         struct client   *c = item->client;          struct client   *c = item->client;
         struct cmd      *cmd = item->cmd;          struct cmd      *cmd = item->cmd;
         va_list          ap;          va_list          ap;
         char            *msg;          char            *msg, *tmp;
         char            *tmp;          const char      *file;
           u_int            line;
   
         va_start(ap, fmt);          va_start(ap, fmt);
         xvasprintf(&msg, fmt, ap);          xvasprintf(&msg, fmt, ap);
Line 537 
Line 543 
   
         log_debug("%s: %s", __func__, msg);          log_debug("%s: %s", __func__, msg);
   
         if (c == NULL)          if (c == NULL) {
                 cfg_add_cause("%s:%u: %s", cmd->file, cmd->line, msg);                  cmd_get_source(cmd, &file, &line);
         else if (c->session == NULL || (c->flags & CLIENT_CONTROL)) {                  cfg_add_cause("%s:%u: %s", file, line, msg);
           } else if (c->session == NULL || (c->flags & CLIENT_CONTROL)) {
                 if (~c->flags & CLIENT_UTF8) {                  if (~c->flags & CLIENT_UTF8) {
                         tmp = msg;                          tmp = msg;
                         msg = utf8_sanitize(tmp);                          msg = utf8_sanitize(tmp);

Legend:
Removed from v.1.81  
changed lines
  Added in v.1.82