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

Diff for /src/usr.bin/tmux/cmd-new-window.c between version 1.92 and 1.93

version 1.92, 2021/08/20 19:08:36 version 1.93, 2021/08/20 19:50:16
Line 55 
Line 55 
         struct client           *c = cmdq_get_client(item);          struct client           *c = cmdq_get_client(item);
         struct cmd_find_state   *current = cmdq_get_current(item);          struct cmd_find_state   *current = cmdq_get_current(item);
         struct cmd_find_state   *target = cmdq_get_target(item);          struct cmd_find_state   *target = cmdq_get_target(item);
         struct spawn_context     sc;          struct spawn_context     sc = { 0 };
         struct client           *tc = cmdq_get_target_client(item);          struct client           *tc = cmdq_get_target_client(item);
         struct session          *s = target->s;          struct session          *s = target->s;
         struct winlink          *wl = target->wl;          struct winlink          *wl = target->wl, *new_wl = NULL;
         int                      idx = target->idx, before;          int                      idx = target->idx, before;
         struct winlink          *new_wl = NULL;  
         char                    *cause = NULL, *cp;          char                    *cause = NULL, *cp;
         const char              *template, *name;          const char              *template, *name;
         struct cmd_find_state    fs;          struct cmd_find_state    fs;
Line 101 
Line 100 
                         idx = target->idx;                          idx = target->idx;
         }          }
   
         memset(&sc, 0, sizeof sc);  
         sc.item = item;          sc.item = item;
         sc.s = s;          sc.s = s;
         sc.tc = tc;          sc.tc = tc;
   
         sc.name = args_get(args, 'n');          sc.name = args_get(args, 'n');
         sc.argc = args->argc;          args_vector(args, &sc.argc, &sc.argv);
         sc.argv = args->argv;  
         sc.environ = environ_create();          sc.environ = environ_create();
   
         av = args_first_value(args, 'e');          av = args_first_value(args, 'e');
Line 129 
Line 126 
         if ((new_wl = spawn_window(&sc, &cause)) == NULL) {          if ((new_wl = spawn_window(&sc, &cause)) == NULL) {
                 cmdq_error(item, "create window failed: %s", cause);                  cmdq_error(item, "create window failed: %s", cause);
                 free(cause);                  free(cause);
                   if (sc.argv != NULL)
                           cmd_free_argv(sc.argc, sc.argv);
                 environ_free(sc.environ);                  environ_free(sc.environ);
                 return (CMD_RETURN_ERROR);                  return (CMD_RETURN_ERROR);
         }          }
Line 150 
Line 149 
         cmd_find_from_winlink(&fs, new_wl, 0);          cmd_find_from_winlink(&fs, new_wl, 0);
         cmdq_insert_hook(s, item, &fs, "after-new-window");          cmdq_insert_hook(s, item, &fs, "after-new-window");
   
           if (sc.argv != NULL)
                   cmd_free_argv(sc.argc, sc.argv);
         environ_free(sc.environ);          environ_free(sc.environ);
         return (CMD_RETURN_NORMAL);          return (CMD_RETURN_NORMAL);
 }  }

Legend:
Removed from v.1.92  
changed lines
  Added in v.1.93