File tcsh-6.17.03-colorls.dif of Package tcsh.12475

--- tw.color.c
+++ tw.color.c	2010-12-10 16:07:59.000000000 +0000
@@ -89,6 +89,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 */
 };
 
 enum FileType {
@@ -177,7 +178,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;
 
@@ -240,13 +241,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;
 	}
@@ -301,12 +303,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) {
-		  color = &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) {
+		  color = &extensions[j].color;
 		break;
 	    }
 	}
openSUSE Build Service is sponsored by