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

Diff for /src/usr.bin/tmux/cmd-join-pane.c between version 1.38 and 1.39

version 1.38, 2020/01/02 13:44:17 version 1.39, 2020/03/21 13:16:15
Line 51 
Line 51 
         .alias = "movep",          .alias = "movep",
   
         .args = { "bdhvp:l:s:t:", 0, 0 },          .args = { "bdhvp:l:s:t:", 0, 0 },
         .usage = "[-bdhv] [-p percentage|-l size] " CMD_SRCDST_PANE_USAGE,          .usage = "[-bdhv] [-l size] " CMD_SRCDST_PANE_USAGE,
   
         .source = { 's', CMD_FIND_PANE, CMD_FIND_DEFAULT_MARKED },          .source = { 's', CMD_FIND_PANE, CMD_FIND_DEFAULT_MARKED },
         .target = { 't', CMD_FIND_PANE, 0 },          .target = { 't', CMD_FIND_PANE, 0 },
Line 69 
Line 69 
         struct winlink          *src_wl, *dst_wl;          struct winlink          *src_wl, *dst_wl;
         struct window           *src_w, *dst_w;          struct window           *src_w, *dst_w;
         struct window_pane      *src_wp, *dst_wp;          struct window_pane      *src_wp, *dst_wp;
         char                    *cause, *copy;          char                    *cause = NULL;
         const char              *errstr, *p;  
         size_t                   plen;  
         int                      size, percentage, dst_idx, not_same_window;          int                      size, percentage, dst_idx, not_same_window;
         int                      flags;          int                      flags;
         enum layout_type         type;          enum layout_type         type;
Line 108 
Line 106 
                 type = LAYOUT_LEFTRIGHT;                  type = LAYOUT_LEFTRIGHT;
   
         size = -1;          size = -1;
         if ((p = args_get(args, 'l')) != NULL) {          if (args_has(args, 'l')) {
                 plen = strlen(p);                  if (type == LAYOUT_TOPBOTTOM) {
                 if (p[plen - 1] == '%') {                          size = args_percentage(args, 'l', 0, INT_MAX,
                         copy = xstrdup(p);                              dst_wp->sy, &cause);
                         copy[plen - 1] = '\0';                  } else {
                         percentage = strtonum(copy, 0, INT_MAX, &errstr);                          size = args_percentage(args, 'l', 0, INT_MAX,
                         free(copy);                              dst_wp->sx, &cause);
                         if (errstr != NULL) {                  }
                                 cmdq_error(item, "percentage %s", errstr);          } else if (args_has(args, 'p')) {
                                 return (CMD_RETURN_ERROR);                  percentage = args_strtonum(args, 'p', 0, 100, &cause);
                         }                  if (cause == NULL) {
                         if (type == LAYOUT_TOPBOTTOM)                          if (type == LAYOUT_TOPBOTTOM)
                                 size = (dst_wp->sy * percentage) / 100;                                  size = (dst_wp->sy * percentage) / 100;
                         else                          else
                                 size = (dst_wp->sx * percentage) / 100;                                  size = (dst_wp->sx * percentage) / 100;
                 } else {  
                         size = args_strtonum(args, 'l', 0, INT_MAX, &cause);  
                         if (cause != NULL) {  
                                 cmdq_error(item, "size %s", cause);  
                                 free(cause);  
                                 return (CMD_RETURN_ERROR);  
                         }  
                 }                  }
         } else if (args_has(args, 'p')) {          }
                 percentage = args_strtonum(args, 'p', 0, 100, &cause);          if (cause != NULL) {
                 if (cause != NULL) {                  cmdq_error(item, "size %s", cause);
                         cmdq_error(item, "percentage %s", cause);                  free(cause);
                         free(cause);                  return (CMD_RETURN_ERROR);
                         return (CMD_RETURN_ERROR);  
                 }  
                 if (type == LAYOUT_TOPBOTTOM)  
                         size = (dst_wp->sy * percentage) / 100;  
                 else  
                         size = (dst_wp->sx * percentage) / 100;  
         }          }
   
         flags = 0;          flags = 0;

Legend:
Removed from v.1.38  
changed lines
  Added in v.1.39