tty/vt: consolemap: make parameters of inverse_translate() saner
authorJiri Slaby <jslaby@suse.cz>
Tue, 7 Jun 2022 10:49:17 +0000 (12:49 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jun 2022 11:37:01 +0000 (13:37 +0200)
- int use_unicode -> bool: it's used as bool at some places already, so
  make it explicit.
- int glyph -> u16: every caller passes a u16 in. So make it explicit
  too. And remove a negative check from inverse_translate() as it never
  could be negative.

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20220607104946.18710-7-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/accessibility/braille/braille_console.c
drivers/accessibility/speakup/main.c
drivers/tty/vt/consolemap.c
drivers/tty/vt/selection.c
drivers/tty/vt/vt.c
include/linux/consolemap.h

index fdc6b593f50011f967b165e37fcc823e1ad55b18..c4d54a5326b1182b7d181b7a47528e527f4e37fc 100644 (file)
@@ -131,7 +131,7 @@ static void vc_refresh(struct vc_data *vc)
        for (i = 0; i < WIDTH; i++) {
                u16 glyph = screen_glyph(vc,
                                2 * (vc_x + i) + vc_y * vc->vc_size_row);
-               buf[i] = inverse_translate(vc, glyph, 1);
+               buf[i] = inverse_translate(vc, glyph, true);
        }
        braille_write(buf);
 }
index d726537fa16ce0f6e881a1ac3707f8d4576fa0d0..f52265293482e0d352eeb0c2f7e8bcf3ed4323bc 100644 (file)
@@ -470,7 +470,7 @@ static u16 get_char(struct vc_data *vc, u16 *pos, u_char *attribs)
                        c |= 0x100;
                }
 
-               ch = inverse_translate(vc, c, 1);
+               ch = inverse_translate(vc, c, true);
                *attribs = (w & 0xff00) >> 8;
        }
        return ch;
index fb61158f4dc60484196c31f91aa6a64e3325bb38..157c7f93629461fb08f92f0e4bfaa54c688d22f0 100644 (file)
@@ -281,12 +281,12 @@ unsigned short *set_translate(int m, struct vc_data *vc)
  *    was active.
  * Still, it is now possible to a certain extent to cut and paste non-ASCII.
  */
-u16 inverse_translate(const struct vc_data *conp, int glyph, int use_unicode)
+u16 inverse_translate(const struct vc_data *conp, u16 glyph, bool use_unicode)
 {
        struct uni_pagedict *p;
        int m;
 
-       if (glyph < 0 || glyph >= MAX_GLYPH)
+       if (glyph >= MAX_GLYPH)
                return 0;
 
        p = *conp->vc_uni_pagedir_loc;
index f7755e73696e75a8208674a61c59660e31182a02..6ef22f01cc518ddcd8d8b24389127f26686b08f9 100644 (file)
@@ -68,7 +68,8 @@ sel_pos(int n, bool unicode)
 {
        if (unicode)
                return screen_glyph_unicode(vc_sel.cons, n / 2);
-       return inverse_translate(vc_sel.cons, screen_glyph(vc_sel.cons, n), 0);
+       return inverse_translate(vc_sel.cons, screen_glyph(vc_sel.cons, n),
+                       false);
 }
 
 /**
index f8c87c4d739955a19a82db355322e395f9268e37..1ea1c11c42fdf437aaa302c98a0ce332a4c94c24 100644 (file)
@@ -4741,7 +4741,7 @@ u32 screen_glyph_unicode(const struct vc_data *vc, int n)
 
        if (uniscr)
                return uniscr->lines[n / vc->vc_cols][n % vc->vc_cols];
-       return inverse_translate(vc, screen_glyph(vc, n * 2), 1);
+       return inverse_translate(vc, screen_glyph(vc, n * 2), true);
 }
 EXPORT_SYMBOL_GPL(screen_glyph_unicode);
 
index 98171dbed51fcf331c9be7972f21d4859fa0f5fb..1ff2bf55eb85d131922ae8cd53bb05fd4f8ee7bb 100644 (file)
 struct vc_data;
 
 #ifdef CONFIG_CONSOLE_TRANSLATIONS
-u16 inverse_translate(const struct vc_data *conp, int glyph, int use_unicode);
+u16 inverse_translate(const struct vc_data *conp, u16 glyph, bool use_unicode);
 unsigned short *set_translate(int m, struct vc_data *vc);
 int conv_uni_to_pc(struct vc_data *conp, long ucs);
 u32 conv_8bit_to_uni(unsigned char c);
 int conv_uni_to_8bit(u32 uni);
 void console_map_init(void);
 #else
-static inline u16 inverse_translate(const struct vc_data *conp, int glyph,
-               int use_unicode)
+static inline u16 inverse_translate(const struct vc_data *conp, u16 glyph,
+               bool use_unicode)
 {
        return glyph;
 }