tty: vt: simplify ansi_control_string()
authorJiri Slaby (SUSE) <jirislaby@kernel.org>
Fri, 2 Feb 2024 06:56:02 +0000 (07:56 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 6 Feb 2024 14:37:39 +0000 (14:37 +0000)
Given all the ANSI control states are sequential in the vc_ctl_state
enum, we can define first/last constants and use them in
ansi_control_string(). It makes the test simple and allows for removal
of the 'if' (which was unnecessary at all -- the 'return' should have
returned the 'if' content directly anyway).

And remove the useless comment -- it's clear from the function
prototype.

Signed-off-by: "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
Link: https://lore.kernel.org/r/20240202065608.14019-17-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/vt/vt.c

index 6d08290fdfdf0c0756d1c4368a82cf172b88ea02..e1cbe966bc84e0a8bdb701c7623217a82a1affc2 100644 (file)
@@ -2107,9 +2107,11 @@ static void restore_cur(struct vc_data *vc)
  * @ESnonstd:          OSC parsed
  * @ESpalette:         OSC P parsed
  * @ESosc:             OSC [0-9] parsed
+ * @ESANSI_first:      first state for ignoring ansi control sequences
  * @ESapc:             ESC _ parsed
  * @ESpm:              ESC ^ parsed
  * @ESdcs:             ESC P parsed
+ * @ESANSI_last:       last state for ignoring ansi control sequences
  */
 enum vc_ctl_state {
        ESnormal,
@@ -2125,9 +2127,11 @@ enum vc_ctl_state {
        ESnonstd,
        ESpalette,
        ESosc,
+       ESANSI_first = ESosc,
        ESapc,
        ESpm,
        ESdcs,
+       ESANSI_last = ESdcs,
 };
 
 /* console_lock is held (except via vc_init()) */
@@ -2202,12 +2206,9 @@ static void vc_setGx(struct vc_data *vc, unsigned int which, u8 c)
                vc->vc_translate = set_translate(*charset, vc);
 }
 
-/* is this state an ANSI control string? */
-static bool ansi_control_string(unsigned int state)
+static bool ansi_control_string(enum vc_ctl_state state)
 {
-       if (state == ESosc || state == ESapc || state == ESpm || state == ESdcs)
-               return true;
-       return false;
+       return state >= ESANSI_first && state <= ESANSI_last;
 }
 
 enum {