tcsh/tcsh-6.18.03-colorls.dif

61 lines
1.9 KiB
Plaintext

---
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]))
@@ -323,7 +324,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;
@@ -380,13 +381,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;
}
@@ -445,12 +443,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;
}
}