Accept \007 as terminator to OSC 10 or 11.

pull/3431/head
nicm 2023-01-09 07:57:14 +00:00
parent 565de3f54b
commit c0031f8b85
1 changed files with 10 additions and 3 deletions

View File

@ -1516,18 +1516,25 @@ tty_keys_colours(struct tty *tty, const char *buf, size_t len, size_t *size)
if (len == 5) if (len == 5)
return (1); return (1);
/* Copy the rest up to \033\. */ /* Copy the rest up to \033\ or \007. */
for (i = 0; i < (sizeof tmp) - 1; i++) { for (i = 0; i < (sizeof tmp) - 1; i++) {
if (5 + i == len) if (5 + i == len)
return (1); return (1);
if (buf[5 + i - 1] == '\033' && buf[5 + i] == '\\') if (buf[5 + i - 1] == '\033' && buf[5 + i] == '\\')
break; break;
if (buf[5 + i] == '\007')
break;
tmp[i] = buf[5 + i]; tmp[i] = buf[5 + i];
} }
if (i == (sizeof tmp) - 1) if (i == (sizeof tmp) - 1)
return (-1); return (-1);
tmp[i - 1] = '\0'; if (tmp[i] == '\007') {
*size = 6 + i; *size = 5 + i;
tmp[i] = '\0';
} else {
*size = 6 + i;
tmp[i - 1] = '\0';
}
n = colour_parseX11(tmp); n = colour_parseX11(tmp);
if (n != -1 && buf[3] == '0') { if (n != -1 && buf[3] == '0') {