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

Diff for /src/usr.bin/tmux/Attic/cmd-choose-client.c between version 1.13 and 1.14

version 1.13, 2013/01/17 20:30:43 version 1.14, 2013/03/21 16:08:24
Line 30 
Line 30 
 enum cmd_retval  cmd_choose_client_exec(struct cmd *, struct cmd_ctx *);  enum cmd_retval  cmd_choose_client_exec(struct cmd *, struct cmd_ctx *);
   
 void    cmd_choose_client_callback(struct window_choose_data *);  void    cmd_choose_client_callback(struct window_choose_data *);
 void    cmd_choose_client_free(struct window_choose_data *);  
   
 const struct cmd_entry cmd_choose_client_entry = {  const struct cmd_entry cmd_choose_client_entry = {
         "choose-client", NULL,          "choose-client", NULL,
Line 50 
Line 49 
 cmd_choose_client_exec(struct cmd *self, struct cmd_ctx *ctx)  cmd_choose_client_exec(struct cmd *self, struct cmd_ctx *ctx)
 {  {
         struct args                     *args = self->args;          struct args                     *args = self->args;
           struct client                   *c;
           struct client                   *c1;
         struct window_choose_data       *cdata;          struct window_choose_data       *cdata;
         struct winlink                  *wl;          struct winlink                  *wl;
         struct client                   *c;  
         const char                      *template;          const char                      *template;
         char                            *action;          char                            *action;
         u_int                            i, idx, cur;          u_int                            i, idx, cur;
Line 61 
Line 61 
                 ctx->error(ctx, "must be run interactively");                  ctx->error(ctx, "must be run interactively");
                 return (CMD_RETURN_ERROR);                  return (CMD_RETURN_ERROR);
         }          }
           c = ctx->curclient;
   
         if ((wl = cmd_find_window(ctx, args_get(args, 't'), NULL)) == NULL)          if ((wl = cmd_find_window(ctx, args_get(args, 't'), NULL)) == NULL)
                 return (CMD_RETURN_ERROR);                  return (CMD_RETURN_ERROR);
Line 78 
Line 79 
   
         cur = idx = 0;          cur = idx = 0;
         for (i = 0; i < ARRAY_LENGTH(&clients); i++) {          for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
                 c = ARRAY_ITEM(&clients, i);                  c1 = ARRAY_ITEM(&clients, i);
                 if (c == NULL || c->session == NULL)                  if (c1 == NULL || c1->session == NULL)
                         continue;                          continue;
                 if (c == ctx->curclient)                  if (c1 == ctx->curclient)
                         cur = idx;                          cur = idx;
                 idx++;                  idx++;
   
                 cdata = window_choose_data_create(ctx);                  cdata = window_choose_data_create(TREE_OTHER, c, c->session);
                 cdata->idx = i;                  cdata->idx = i;
                 cdata->client->references++;  
   
                 cdata->ft_template = xstrdup(template);                  cdata->ft_template = xstrdup(template);
                 format_add(cdata->ft, "line", "%u", i);                  format_add(cdata->ft, "line", "%u", i);
                 format_session(cdata->ft, c->session);                  format_session(cdata->ft, c1->session);
                 format_client(cdata->ft, c);                  format_client(cdata->ft, c1);
   
                 cdata->command = cmd_template_replace(action, c->tty.path, 1);                  cdata->command = cmd_template_replace(action, c1->tty.path, 1);
   
                 window_choose_add(wl->window->active, cdata);                  window_choose_add(wl->window->active, cdata);
         }          }
         free(action);          free(action);
   
         window_choose_ready(wl->window->active,          window_choose_ready(wl->window->active, cur,
             cur, cmd_choose_client_callback, cmd_choose_client_free);              cmd_choose_client_callback, NULL);
   
         return (CMD_RETURN_NORMAL);          return (CMD_RETURN_NORMAL);
 }  }
Line 113 
Line 113 
   
         if (cdata == NULL)          if (cdata == NULL)
                 return;                  return;
         if (cdata->client->flags & CLIENT_DEAD)          if (cdata->start_client->flags & CLIENT_DEAD)
                 return;                  return;
   
         if (cdata->idx > ARRAY_LENGTH(&clients) - 1)          if (cdata->idx > ARRAY_LENGTH(&clients) - 1)
Line 122 
Line 122 
         if (c == NULL || c->session == NULL)          if (c == NULL || c->session == NULL)
                 return;                  return;
   
         window_choose_ctx(cdata);          window_choose_data_run(cdata);
 }  
   
 void  
 cmd_choose_client_free(struct window_choose_data *cdata)  
 {  
         if (cdata == NULL)  
                 return;  
   
         cdata->client->references--;  
   
         free(cdata->ft_template);  
         free(cdata->command);  
         format_free(cdata->ft);  
         free(cdata);  
 }  }

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14