lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 07/36] tty/vt: consolemap: make parameters of inverse_translate() saner
    Date
    - 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.

    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    ---
    drivers/accessibility/braille/braille_console.c | 2 +-
    drivers/accessibility/speakup/main.c | 2 +-
    drivers/tty/vt/consolemap.c | 4 ++--
    drivers/tty/vt/selection.c | 3 ++-
    drivers/tty/vt/vt.c | 2 +-
    include/linux/consolemap.h | 6 +++---
    6 files changed, 10 insertions(+), 9 deletions(-)

    diff --git a/drivers/accessibility/braille/braille_console.c b/drivers/accessibility/braille/braille_console.c
    index fdc6b593f500..c4d54a5326b1 100644
    --- a/drivers/accessibility/braille/braille_console.c
    +++ b/drivers/accessibility/braille/braille_console.c
    @@ -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);
    }
    diff --git a/drivers/accessibility/speakup/main.c b/drivers/accessibility/speakup/main.c
    index d726537fa16c..f52265293482 100644
    --- a/drivers/accessibility/speakup/main.c
    +++ b/drivers/accessibility/speakup/main.c
    @@ -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;
    diff --git a/drivers/tty/vt/consolemap.c b/drivers/tty/vt/consolemap.c
    index fb61158f4dc6..157c7f936294 100644
    --- a/drivers/tty/vt/consolemap.c
    +++ b/drivers/tty/vt/consolemap.c
    @@ -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;
    diff --git a/drivers/tty/vt/selection.c b/drivers/tty/vt/selection.c
    index f7755e73696e..6ef22f01cc51 100644
    --- a/drivers/tty/vt/selection.c
    +++ b/drivers/tty/vt/selection.c
    @@ -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);
    }

    /**
    diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
    index f8c87c4d7399..1ea1c11c42fd 100644
    --- a/drivers/tty/vt/vt.c
    +++ b/drivers/tty/vt/vt.c
    @@ -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);

    diff --git a/include/linux/consolemap.h b/include/linux/consolemap.h
    index 98171dbed51f..1ff2bf55eb85 100644
    --- a/include/linux/consolemap.h
    +++ b/include/linux/consolemap.h
    @@ -17,15 +17,15 @@
    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;
    }
    --
    2.36.1
    \
     
     \ /
      Last update: 2022-06-07 12:52    [W:4.106 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site