From f9c96f0d0c15e92e66a5a259d0c9d637acd77d17 Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Tue, 15 Jun 2010 17:24:16 +0300 Subject: [PATCH] --- yaml --- r: 207875 b: refs/heads/master c: 74c807ce3d1f092fc5138c5a54019553061ecc17 h: refs/heads/master i: 207873: f743190f4a59185785c306e1483eec75add3ddc7 207871: e428368543ab352ea9e68b8304d5fa43fee9c8e7 v: v3 --- [refs] | 2 +- trunk/drivers/char/vt.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 165aaf5093b4..143570caf8b0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 690b781b327a1c986c33fb2c51dd966c38222943 +refs/heads/master: 74c807ce3d1f092fc5138c5a54019553061ecc17 diff --git a/trunk/drivers/char/vt.c b/trunk/drivers/char/vt.c index 44f03ddd8871..34bfb056d7a6 100644 --- a/trunk/drivers/char/vt.c +++ b/trunk/drivers/char/vt.c @@ -105,6 +105,7 @@ #include #include #include +#include #define MAX_NR_CON_DRIVER 16 @@ -1796,8 +1797,8 @@ static void do_con_trol(struct tty_struct *tty, struct vc_data *vc, int c) vc->vc_state = ESnormal; return; case ESpalette: - if ( (c>='0'&&c<='9') || (c>='A'&&c<='F') || (c>='a'&&c<='f') ) { - vc->vc_par[vc->vc_npar++] = (c > '9' ? (c & 0xDF) - 'A' + 10 : c - '0'); + if (isxdigit(c)) { + vc->vc_par[vc->vc_npar++] = hex_to_bin(c); if (vc->vc_npar == 7) { int i = vc->vc_par[0] * 3, j = 1; vc->vc_palette[i] = 16 * vc->vc_par[j++];