diff options
author | nicm <nicm> | 2019-05-20 05:35:46 +0000 |
---|---|---|
committer | nicm <nicm> | 2019-05-20 05:35:46 +0000 |
commit | 6e0c663a895fc4d24b9745675cd45f3d8b457680 (patch) | |
tree | 8406c3d08faa48a16e897dcb5bf6818937d5d4a6 | |
parent | 82ebd98c5f874cd10365d9563feccfbb8da188f4 (diff) | |
download | rtmux-6e0c663a895fc4d24b9745675cd45f3d8b457680.tar.gz rtmux-6e0c663a895fc4d24b9745675cd45f3d8b457680.tar.bz2 rtmux-6e0c663a895fc4d24b9745675cd45f3d8b457680.zip |
Fix the color space parameter in RGB SGR, from Brad Town.
-rw-r--r-- | input.c | 24 |
1 files changed, 13 insertions, 11 deletions
@@ -1938,23 +1938,25 @@ input_csi_dispatch_sgr_colon(struct input_ctx *ictx, u_int i) } return; } - if (p[0] != 38 && p[0] != 48) + if (n < 2 || (p[0] != 38 && p[0] != 48)) return; - if (p[1] == -1) - i = 2; - else - i = 1; - switch (p[i]) { + switch (p[1]) { case 2: - if (n < i + 4) + if (n < 3) + break; + if (n == 5) + i = 2; + else + i = 3; + if (n < i + 3) break; - input_csi_dispatch_sgr_rgb_do(ictx, p[0], p[i + 1], p[i + 2], - p[i + 3]); + input_csi_dispatch_sgr_rgb_do(ictx, p[0], p[i], p[i + 1], + p[i + 2]); break; case 5: - if (n < i + 2) + if (n < 3) break; - input_csi_dispatch_sgr_256_do(ictx, p[0], p[i + 1]); + input_csi_dispatch_sgr_256_do(ictx, p[0], p[2]); break; } } |