Commit 04afcd3a authored by Martin Hostettler's avatar Martin Hostettler Committed by Greg Kroah-Hartman

vt: ignore sequences that contain ':' in parameters.

csi sequences can contain subparameters delimited by ':' characters. For
now just ignore the whole sequence in this case. Such sequences are used by
more capable terminal implementations with T.416 high color modes or
extended underline rendition attributes.

Also ignore sequences with private use characters '?', '>', '='
and '>' that are not at the initial position.
Signed-off-by: default avatarMartin Hostettler <textshell@uchuujin.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7a99565f
...@@ -1629,9 +1629,9 @@ static void rgb_background(struct vc_data *vc, const struct rgb *c) ...@@ -1629,9 +1629,9 @@ static void rgb_background(struct vc_data *vc, const struct rgb *c)
/* /*
* ITU T.416 Higher colour modes. They break the usual properties of SGR codes * ITU T.416 Higher colour modes. They break the usual properties of SGR codes
* and thus need to be detected and ignored by hand. Strictly speaking, that * and thus need to be detected and ignored by hand. That standard also
* standard also wants : rather than ; as separators, contrary to ECMA-48, but * wants : rather than ; as separators but sequences containing : are currently
* no one produces such codes and almost no one accepts them. * completely ignored by the parser.
* *
* Subcommands 3 (CMY) and 4 (CMYK) are so insane there's no point in * Subcommands 3 (CMY) and 4 (CMYK) are so insane there's no point in
* supporting them. * supporting them.
...@@ -2261,7 +2261,7 @@ static void do_con_trol(struct tty_struct *tty, struct vc_data *vc, int c) ...@@ -2261,7 +2261,7 @@ static void do_con_trol(struct tty_struct *tty, struct vc_data *vc, int c)
vc->vc_par[vc->vc_npar] += c - '0'; vc->vc_par[vc->vc_npar] += c - '0';
return; return;
} }
if (c >= 0x20 && c <= 0x2f) { if (c >= 0x20 && c <= 0x3f) { /* 0x2x, 0x3a and 0x3c - 0x3f */
vc->vc_state = EScsiignore; vc->vc_state = EScsiignore;
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment