Don't output negative numbers in the ESC[13t report.

A minus sign is illegal at that position in a control sequence, so if
ESC[13t should report something like ESC[3;-123;234t then we won't
accept it as input. Switch to printing the numbers as unsigned, so
that negative window coordinates are output as their 32-bit two's
complement; experimentation suggests that PuTTY does accept that on
input.
This commit is contained in:
Simon Tatham 2015-03-07 20:57:26 +00:00
Родитель 7d97c2a8fd
Коммит 2422b18a0f
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -3995,7 +3995,9 @@ static void term_out(Terminal *term)
case 13:
if (term->ldisc) {
get_window_pos(term->frontend, &x, &y);
len = sprintf(buf, "\033[3;%d;%dt", x, y);
len = sprintf(buf, "\033[3;%u;%ut",
(unsigned)x,
(unsigned)y);
ldisc_send(term->ldisc, buf, len, 0);
}
break;