History

vt: move vc_translate to vt.c and rename it

vc_translate is used only in vt.c, so move the definition from a header there. Also, it used to be a macro, so be modern and make a static inline from it. This makes the code actually readable. And as a preparation for next patches, rename it to vc_translate_ascii. vc_translate will be a wrapper for both unicode and this one.

Jiri Slaby committed 6 years ago

Commit a0181801 parent 9a6f72d2 files · +13 −4Browse files

Unified · Split

2 files
  1. drivers/tty/vt/vt.c +13 −1
  2. include/linux/vt_kern.h +0 −3
drivers/tty/vt/vt.c+13−1
@@ -2560,6 +2560,18 @@ static void con_flush(struct vc_data *vc, unsigned long draw_from, · 2559 unmodified lines
25602560 *draw_x = -1;
25612561 }
25622562
2563+static inline int vc_translate_ascii(const struct vc_data *vc, int c)
2564+{
2565+ if (IS_ENABLED(CONFIG_CONSOLE_TRANSLATIONS)) {
2566+ if (vc->vc_toggle_meta)
2567+ c |= 0x80;
2568+
2569+ return vc->vc_translate[c];
2570+ }
2571+
2572+ return c;
2573+}
2574+
25632575 /* acquires console_lock */
25642576 static int do_con_write(struct tty_struct *tty, const unsigned char *buf, int count)
25652577 {
@@ -2687,7 +2699,7 @@ rescan_last_byte: · 121 unmodified lines
26872699 c = 0xfffd;
26882700 tc = c;
26892701 } else { /* no utf or alternate charset mode */
2690− tc = vc_translate(vc, c);
2702+ tc = vc_translate_ascii(vc, c);
26912703 }
26922704
26932705 param.c = tc;
include/linux/vt_kern.h+0−3
@@ -74,8 +74,6 @@ int con_set_default_unimap(struct vc_data *vc); · 73 unmodified lines
7474 void con_free_unimap(struct vc_data *vc);
7575 int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc);
7676
77−#define vc_translate(vc, c) ((vc)->vc_translate[(c) | \
78− ((vc)->vc_toggle_meta ? 0x80 : 0)])
7977 #else
8078 static inline int con_set_trans_old(unsigned char __user *table)
8179 {
@@ -124,7 +122,6 @@ int con_copy_unimap(struct vc_data *dst_vc, struct vc_data *src_vc) · 42 unmodified lines
124122 return 0;
125123 }
126124
127−#define vc_translate(vc, c) (c)
128125 #endif
129126
130127 /* vt.c */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t