/* This variant tags control characters to be echoed as "^X" (where X is the letter representing the control char).  */
static void echo_char(unsigned char c, struct tty_struct *tty)
/* This variant tags control characters to be echoed as "^X" (where X is the letter representing the control char).  */
static void echo_char(unsigned char c, struct tty_struct *tty)
{
    struct n_tty_data *ldata = tty->disc_data;
    if (c == ECHO_OP_START)
    {
        add_echo_byte(ECHO_OP_START, ldata);
        add_echo_byte(ECHO_OP_START, ldata);
    }
    else
    {
        if (L_ECHOCTL(tty) && iscntrl(c) && c != '\t')
        {
            add_echo_byte(ECHO_OP_START, ldata);
        }
        add_echo_byte(c, ldata);
    }
}