Annotation of /trunk/coreutils/patches-5.3.0/coreutils-5.3.0-ls.c.patch
Parent Directory | Revision Log
Revision 44 -
(hide annotations)
(download)
Thu Oct 13 21:17:16 2005 UTC (18 years, 11 months ago) by niro
File size: 2155 byte(s)
Thu Oct 13 21:17:16 2005 UTC (18 years, 11 months ago) by niro
File size: 2155 byte(s)
patch set for coretutils-5.3.0
1 | niro | 44 | --- fileutils-4.1/src/ls.c.orig Sun Apr 29 12:42:47 2001 |
2 | +++ fileutils-4.1/src/ls.c Fri Jul 20 21:01:39 2001 | ||
3 | @@ -510,13 +510,13 @@ | ||
4 | enum indicator_no | ||
5 | { | ||
6 | C_LEFT, C_RIGHT, C_END, C_NORM, C_FILE, C_DIR, C_LINK, C_FIFO, C_SOCK, | ||
7 | - C_BLK, C_CHR, C_MISSING, C_ORPHAN, C_EXEC, C_DOOR | ||
8 | + C_BLK, C_CHR, C_MISSING, C_ORPHAN, C_EXEC, C_DOOR, C_UID, C_GID, C_WRO, C_WT | ||
9 | }; | ||
10 | |||
11 | static const char *const indicator_name[]= | ||
12 | { | ||
13 | "lc", "rc", "ec", "no", "fi", "di", "ln", "pi", "so", | ||
14 | - "bd", "cd", "mi", "or", "ex", "do", NULL | ||
15 | + "bd", "cd", "mi", "or", "ex", "do", "su", "sg", "wo", "wt", NULL | ||
16 | }; | ||
17 | |||
18 | struct color_ext_type | ||
19 | @@ -542,7 +542,11 @@ | ||
20 | { 0, NULL }, /* mi: Missing file: undefined */ | ||
21 | { 0, NULL }, /* or: Orphanned symlink: undefined */ | ||
22 | { LEN_STR_PAIR ("01;32") }, /* ex: Executable: bright green */ | ||
23 | - { LEN_STR_PAIR ("01;35") } /* do: Door: bright magenta */ | ||
24 | + { LEN_STR_PAIR ("01;35") }, /* do: Door: bright magenta */ | ||
25 | + { LEN_STR_PAIR ("37;41") }, /* su: setuid: white on red */ | ||
26 | + { LEN_STR_PAIR ("30;43") }, /* sg: setgid: black on yellow */ | ||
27 | + { LEN_STR_PAIR ("37;44") }, /* wo: writeable-other:white on blue */ | ||
28 | + { LEN_STR_PAIR ("37;42") }, /* wt: wo w/ sticky: white on green */ | ||
29 | }; | ||
30 | |||
31 | /* FIXME: comment */ | ||
32 | @@ -2883,7 +2887,14 @@ | ||
33 | else | ||
34 | { | ||
35 | if (S_ISDIR (mode)) | ||
36 | - type = C_DIR; | ||
37 | + { | ||
38 | + if ((mode && MODE_WT) == MODE_WT) | ||
39 | + type = C_WT; | ||
40 | + else if ((mode && MODE_WRO) == MODE_WRO) | ||
41 | + type = C_WRO; | ||
42 | + else | ||
43 | + type = C_DIR; | ||
44 | + } | ||
45 | else if (S_ISLNK (mode)) | ||
46 | type = ((!linkok && color_indicator[C_ORPHAN].string) | ||
47 | ? C_ORPHAN : C_LINK); | ||
48 | @@ -2898,7 +2909,13 @@ | ||
49 | else if (S_ISDOOR (mode)) | ||
50 | type = C_DOOR; | ||
51 | |||
52 | - if (type == C_FILE && (mode & S_IXUGO) != 0) | ||
53 | + if ((type == C_FILE) && ((mode & S_ISUID) != 0)) | ||
54 | + type = C_UID; | ||
55 | + | ||
56 | + else if ((type == C_FILE) && ((mode & S_ISGID) != 0)) | ||
57 | + type = C_GID; | ||
58 | + | ||
59 | + else if (type == C_FILE && (mode & S_IXUGO) != 0) | ||
60 | type = C_EXEC; | ||
61 | |||
62 | /* Check the file's suffix only if still classified as C_FILE. */ |