• Adam Borowski's avatar
    vt: detect and ignore OSC codes. · 63f3a16d
    Adam Borowski authored
    These can be used to send commands consisting of an arbitrary string to the
    terminal, most often used to set a terminal's window title or to redefine
    the colour palette.  Our console doesn't use OSC, unlike everything else,
    which can lead to junk being displayed if a process sends such a code
    unconditionally.
    
    The rules for termination follow established practice rather than Ecma-48.
    Ecma-48 requires the string to use only byte values 0x08..0x0D and
    0x20..0x7E, terminated with either ESC \ or 0x9C.  This would disallow using
    8-bit characters, which are reasonable for example in window titles.
    A widespread idiom is to terminate with 0x07.  The behaviour for other
    control characters differs between terminal emulators, I followed libvte and
    xterm:
    * 0x07 and ESC anything terminate
    * nothing else terminates, all 8-bit values including 0x9C are considered a
      part of the string
    Signed-off-by: default avatarAdam Borowski <kilobyte@angband.pl>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    63f3a16d
vt.c 100 KB