diff options
author | Thomas Adam <thomas@xteddy.org> | 2023-01-09 10:01:09 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2023-01-09 10:01:09 +0000 |
commit | 90512202434daa0c1c7d2d2d7fffd4f58ea7ab77 (patch) | |
tree | f402da85215612b05ada4430465414a1c0ddc68b | |
parent | c1a30ed9950fa3ca0d8cbff46c1334d420e9bf1c (diff) | |
parent | c0031f8b8581f7fc2d75cabade596be68f85aa81 (diff) | |
download | rtmux-90512202434daa0c1c7d2d2d7fffd4f58ea7ab77.tar.gz rtmux-90512202434daa0c1c7d2d2d7fffd4f58ea7ab77.tar.bz2 rtmux-90512202434daa0c1c7d2d2d7fffd4f58ea7ab77.zip |
Merge branch 'obsd-master'
-rw-r--r-- | tty-keys.c | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -1516,18 +1516,25 @@ tty_keys_colours(struct tty *tty, const char *buf, size_t len, size_t *size) if (len == 5) return (1); - /* Copy the rest up to \033\. */ + /* Copy the rest up to \033\ or \007. */ for (i = 0; i < (sizeof tmp) - 1; i++) { if (5 + i == len) return (1); if (buf[5 + i - 1] == '\033' && buf[5 + i] == '\\') break; + if (buf[5 + i] == '\007') + break; tmp[i] = buf[5 + i]; } if (i == (sizeof tmp) - 1) return (-1); - tmp[i - 1] = '\0'; - *size = 6 + i; + if (tmp[i] == '\007') { + *size = 5 + i; + tmp[i] = '\0'; + } else { + *size = 6 + i; + tmp[i - 1] = '\0'; + } n = colour_parseX11(tmp); if (n != -1 && buf[3] == '0') { |