Simplify tdeftrans - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 93661042a2a0cf6f3655360f5c52215c684a4211
 (DIR) parent 18a05fdf4326ac1c7165de8cad0895b5c44fac83
 (HTM) Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
       Date:   Sat,  7 Jun 2014 13:23:45 +0200
       
       Simplify tdeftrans
       
       Diffstat:
         M st.c                                |      15 +++++----------
       
       1 file changed, 5 insertions(+), 10 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -2315,19 +2315,14 @@ techo(char *buf, int len) {
        
        void
        tdeftran(char ascii) {
       -        char c, (*bp)[2];
       -        static char tbl[][2] = {
       -                {'0', CS_GRAPHIC0}, {'B', CS_USA},
       -                {0, 0}
       -        };
       -
       -        for (bp = &tbl[0]; (c = (*bp)[0]) && c != ascii; ++bp)
       -                /* nothing */;
       +        static char cs[] = "0B";
       +        static int vcs[] = {CS_GRAPHIC0, CS_USA};
       +        char *p;
        
       -        if (c == 0)
       +        if((p = strchr(cs, ascii)) == NULL)
                        fprintf(stderr, "esc unhandled charset: ESC ( %c\n", ascii);
                else
       -                term.trantbl[term.icharset] = (*bp)[1];
       +                term.trantbl[term.icharset] = vcs[p - cs];
        }
        
        void