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

Diff for /src/usr.bin/tmux/cmd-rename-session.c between version 1.7 and 1.8

version 1.7, 2010/12/21 22:37:59 version 1.8, 2011/01/04 00:42:47
Line 30 
Line 30 
   
 const struct cmd_entry cmd_rename_session_entry = {  const struct cmd_entry cmd_rename_session_entry = {
         "rename-session", "rename",          "rename-session", "rename",
           "t:", 1, 1,
         CMD_TARGET_SESSION_USAGE " new-name",          CMD_TARGET_SESSION_USAGE " new-name",
         CMD_ARG1, "",          0,
         cmd_target_init,          NULL,
         cmd_target_parse,          NULL,
         cmd_rename_session_exec,          cmd_rename_session_exec
         cmd_target_free,  
         cmd_target_print  
 };  };
   
 int  int
 cmd_rename_session_exec(struct cmd *self, struct cmd_ctx *ctx)  cmd_rename_session_exec(struct cmd *self, struct cmd_ctx *ctx)
 {  {
         struct cmd_target_data  *data = self->data;          struct args     *args = self->args;
         struct session          *s;          struct session  *s;
           const char      *newname;
   
         if (data->arg != NULL && session_find(data->arg) != NULL) {          newname = args->argv[0];
                 ctx->error(ctx, "duplicate session: %s", data->arg);          if (session_find(newname) != NULL) {
                   ctx->error(ctx, "duplicate session: %s", newname);
                 return (-1);                  return (-1);
         }          }
   
         if ((s = cmd_find_session(ctx, data->target)) == NULL)          if ((s = cmd_find_session(ctx, args_get(args, 't'))) == NULL)
                 return (-1);                  return (-1);
   
         RB_REMOVE(sessions, &sessions, s);          RB_REMOVE(sessions, &sessions, s);
         xfree(s->name);          xfree(s->name);
         s->name = xstrdup(data->arg);          s->name = xstrdup(newname);
         RB_INSERT(sessions, &sessions, s);          RB_INSERT(sessions, &sessions, s);
   
         server_status_session(s);          server_status_session(s);

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8