tterm: do not terminate VT100 attributes with a semicolon - neatvi - [fork] simple vi-type editor with UTF-8 support
 (HTM) git clone git://src.adamsgaard.dk/neatvi
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
 (DIR) commit e7c90ca9615b1a90035d3b607ca09cb2a538fcd5
 (DIR) parent 174014fe69371a038454126b0b1b7fcc1d077540
 (HTM) Author: Ali Gholami Rudi <ali@rudi.ir>
       Date:   Mon, 15 Jun 2015 19:10:09 +0430
       
       tterm: do not terminate VT100 attributes with a semicolon
       
       Reported by Christian Neukirchen <chneukirchen@gmail.com>.
       
       Diffstat:
         M term.c                              |      16 ++++++++--------
       
       1 file changed, 8 insertions(+), 8 deletions(-)
       ---
 (DIR) diff --git a/term.c b/term.c
       t@@ -171,22 +171,22 @@ char *term_att(int att, int old)
                int bg = SYN_BG(att);
                if (att == old)
                        return "";
       -        s += sprintf(s, "\33[m\33[");
       +        s += sprintf(s, "\33[");
                if (fg & SYN_BD)
       -                s += sprintf(s, "1;");
       +                s += sprintf(s, ";1");
                if (fg & SYN_IT)
       -                s += sprintf(s, "3;");
       +                s += sprintf(s, ";3");
                else if (fg & SYN_RV)
       -                s += sprintf(s, "7;");
       +                s += sprintf(s, ";7");
                if ((fg & 0xff) < 8)
       -                s += sprintf(s, "%d;", 30 + (fg & 0xff));
       +                s += sprintf(s, ";%d", 30 + (fg & 0xff));
                else
       -                s += sprintf(s, "38;5;%d;", (fg & 0xff));
       +                s += sprintf(s, ";38;5;%d", (fg & 0xff));
                if (bg) {
                        if ((bg & 0xff) < 8)
       -                        s += sprintf(s, "%d;", 40 + (bg & 0xff));
       +                        s += sprintf(s, ";%d", 40 + (bg & 0xff));
                        else
       -                        s += sprintf(s, "48;5;%d;", (bg & 0xff));
       +                        s += sprintf(s, ";48;5;%d", (bg & 0xff));
                }
                s += sprintf(s, "m");
                return buf;