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

Diff for /src/usr.bin/tmux/input-keys.c between version 1.89 and 1.90

version 1.89, 2022/03/01 15:20:22 version 1.90, 2022/05/30 13:02:55
Line 607 
Line 607 
                 len = xsnprintf(buf, sizeof buf, "\033[<%u;%u;%u%c",                  len = xsnprintf(buf, sizeof buf, "\033[<%u;%u;%u%c",
                     m->sgr_b, x + 1, y + 1, m->sgr_type);                      m->sgr_b, x + 1, y + 1, m->sgr_type);
         } else if (s->mode & MODE_MOUSE_UTF8) {          } else if (s->mode & MODE_MOUSE_UTF8) {
                 if (m->b > 0x7ff - 32 || x > 0x7ff - 33 || y > 0x7ff - 33)                  if (m->b > MOUSE_PARAM_UTF8_MAX - MOUSE_PARAM_BTN_OFF ||
                       x > MOUSE_PARAM_UTF8_MAX - MOUSE_PARAM_POS_OFF ||
                       y > MOUSE_PARAM_UTF8_MAX - MOUSE_PARAM_POS_OFF)
                         return (0);                          return (0);
                 len = xsnprintf(buf, sizeof buf, "\033[M");                  len = xsnprintf(buf, sizeof buf, "\033[M");
                 len += input_key_split2(m->b + 32, &buf[len]);                  len += input_key_split2(m->b + MOUSE_PARAM_BTN_OFF, &buf[len]);
                 len += input_key_split2(x + 33, &buf[len]);                  len += input_key_split2(x + MOUSE_PARAM_POS_OFF, &buf[len]);
                 len += input_key_split2(y + 33, &buf[len]);                  len += input_key_split2(y + MOUSE_PARAM_POS_OFF, &buf[len]);
         } else {          } else {
                 if (m->b > 223)                  if (m->b + MOUSE_PARAM_BTN_OFF > MOUSE_PARAM_MAX)
                         return (0);                          return (0);
   
                 len = xsnprintf(buf, sizeof buf, "\033[M");                  len = xsnprintf(buf, sizeof buf, "\033[M");
                 buf[len++] = m->b + 32;                  buf[len++] = m->b + MOUSE_PARAM_BTN_OFF;
                 buf[len++] = x + 33;  
                 buf[len++] = y + 33;                  /*
                    * The incoming x and y may be out of the range which can be
                    * supported by the "normal" mouse protocol. Clamp the
                    * coordinates to the supported range.
                    */
                   if (x + MOUSE_PARAM_POS_OFF > MOUSE_PARAM_MAX)
                           buf[len++] = MOUSE_PARAM_MAX;
                   else
                           buf[len++] = x + MOUSE_PARAM_POS_OFF;
                   if (y + MOUSE_PARAM_POS_OFF > MOUSE_PARAM_MAX)
                           buf[len++] = MOUSE_PARAM_MAX;
                   else
                           buf[len++] = y + MOUSE_PARAM_POS_OFF;
         }          }
   
         *rbuf = buf;          *rbuf = buf;

Legend:
Removed from v.1.89  
changed lines
  Added in v.1.90