--- tw.color.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) --- tw.color.c +++ tw.color.c 2016-11-25 08:02:01.645250915 +0000 @@ -85,6 +85,7 @@ static Variable variables[] = { VAR(NOS, "hl", "44;37"), /* Reg file extra hard links, obsolete? */ VAR(NOS, "mh", "44;37"), /* Reg file extra hard links */ VAR(NOS, "ca", "30;41"), /* File with capability */ + VAR(NOS, "cl", ""), /* CLRTOEOL */ }; #define nvariables (sizeof(variables)/sizeof(variables[0])) @@ -321,7 +322,7 @@ parseLS_COLORS(const Char *value) size_t i, len; const Char *v; /* pointer in value */ char *c; /* pointer in colors */ - Extension *volatile e; /* pointer in extensions */ + static Extension *volatile e; /* pointer in extensions */ jmp_buf_t osetexit; size_t omark; @@ -378,13 +379,10 @@ parseLS_COLORS(const Char *value) if ((Char)variables[i].variable[0] == (v[0] & CHAR) && (Char)variables[i].variable[1] == (v[1] & CHAR)) break; - if (i < nvariables) { - v += 3; + v += 3; + if (i < nvariables) getstring(&c, &v, &variables[i].color, ':'); - continue; - } - else - stderror(ERR_BADCOLORVAR, v[0], v[1]); + continue; } break; } @@ -443,12 +441,13 @@ print_color(const Char *fname, size_t le break; } if (i == nvariables) { - for (i = 0; i < nextensions; i++) - if (len >= extensions[i].extension.len - && strncmp(last - extensions[i].extension.len, - extensions[i].extension.s, - extensions[i].extension.len) == 0) { - colorp = &extensions[i].color; + int j; + for (j = 0; j < nextensions; j++) + if (len >= extensions[j].extension.len + && strncmp(last - extensions[j].extension.len, + extensions[j].extension.s, + extensions[j].extension.len) == 0) { + colorp = &extensions[j].color; break; } }