ls: fix --color handling. Closes bug 435.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
5478aaf5b8
commit
5508363fd0
@ -144,8 +144,7 @@ static const char ls_options[] ALIGN1 =
|
|||||||
IF_FEATURE_LS_FOLLOWLINKS("L") /* 1, 24 */
|
IF_FEATURE_LS_FOLLOWLINKS("L") /* 1, 24 */
|
||||||
IF_FEATURE_LS_RECURSIVE("R") /* 1, 25 */
|
IF_FEATURE_LS_RECURSIVE("R") /* 1, 25 */
|
||||||
IF_FEATURE_HUMAN_READABLE("h") /* 1, 26 */
|
IF_FEATURE_HUMAN_READABLE("h") /* 1, 26 */
|
||||||
IF_SELINUX("K") /* 1, 27 */
|
IF_SELINUX("KZ") /* 2, 28 */
|
||||||
IF_SELINUX("Z") /* 1, 28 */
|
|
||||||
IF_FEATURE_AUTOWIDTH("T:w:") /* 2, 30 */
|
IF_FEATURE_AUTOWIDTH("T:w:") /* 2, 30 */
|
||||||
;
|
;
|
||||||
enum {
|
enum {
|
||||||
@ -162,6 +161,16 @@ enum {
|
|||||||
OPT_Q = (1 << 10),
|
OPT_Q = (1 << 10),
|
||||||
//OPT_A = (1 << 11),
|
//OPT_A = (1 << 11),
|
||||||
//OPT_k = (1 << 12),
|
//OPT_k = (1 << 12),
|
||||||
|
OPTBIT_color = 13
|
||||||
|
+ 4 * ENABLE_FEATURE_LS_TIMESTAMPS
|
||||||
|
+ 4 * ENABLE_FEATURE_LS_SORTFILES
|
||||||
|
+ 2 * ENABLE_FEATURE_LS_FILETYPES
|
||||||
|
+ 1 * ENABLE_FEATURE_LS_FOLLOWLINKS
|
||||||
|
+ 1 * ENABLE_FEATURE_LS_RECURSIVE
|
||||||
|
+ 1 * ENABLE_FEATURE_HUMAN_READABLE
|
||||||
|
+ 2 * ENABLE_SELINUX
|
||||||
|
+ 2 * ENABLE_FEATURE_AUTOWIDTH,
|
||||||
|
OPT_color = 1 << OPTBIT_color,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@ -966,7 +975,7 @@ int ls_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
if (!p || (p[0] && strcmp(p, "none") != 0))
|
if (!p || (p[0] && strcmp(p, "none") != 0))
|
||||||
show_color = 1;
|
show_color = 1;
|
||||||
}
|
}
|
||||||
if (opt & (1 << i)) { /* next flag after short options */
|
if (opt & OPT_color) { /* next flag after short options */
|
||||||
if (strcmp("always", color_opt) == 0)
|
if (strcmp("always", color_opt) == 0)
|
||||||
show_color = 1;
|
show_color = 1;
|
||||||
else if (strcmp("never", color_opt) == 0)
|
else if (strcmp("never", color_opt) == 0)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[ -n "$d" ] || d=..
|
[ -n "$d" ] || d=..
|
||||||
ls -1 "$d" > logfile.gnu
|
LC_ALL=C ls -1 "$d" > logfile.gnu
|
||||||
busybox ls -1 "$d" > logfile.bb
|
LC_ALL=C busybox ls -1 "$d" > logfile.bb
|
||||||
cmp logfile.gnu logfile.bb
|
diff -ubw logfile.gnu logfile.bb
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[ -n "$d" ] || d=..
|
[ -n "$d" ] || d=..
|
||||||
ls -h "$d" > logfile.gnu
|
LC_ALL=C ls -h "$d" > logfile.gnu
|
||||||
busybox ls -h "$d" > logfile.bb
|
LC_ALL=C busybox ls -h "$d" > logfile.bb
|
||||||
cmp logfile.gnu logfile.bb
|
diff -ubw logfile.gnu logfile.bb
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[ -n "$d" ] || d=..
|
[ -n "$d" ] || d=..
|
||||||
LC_ALL=C ls -l "$d" > logfile.gnu
|
LC_ALL=C ls -l "$d" > logfile.gnu
|
||||||
busybox ls -l "$d" > logfile.bb
|
LC_ALL=C busybox ls -l "$d" > logfile.bb
|
||||||
diff -w logfile.gnu logfile.bb
|
diff -ubw logfile.gnu logfile.bb
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[ -n "$d" ] || d=..
|
[ -n "$d" ] || d=..
|
||||||
LC_ALL=C ls -1s "$d" > logfile.gnu
|
LC_ALL=C ls -1s "$d" > logfile.gnu
|
||||||
busybox ls -1s "$d" > logfile.bb
|
LC_ALL=C busybox ls -1s "$d" > logfile.bb
|
||||||
cmp logfile.gnu logfile.bb
|
diff -ubw logfile.gnu logfile.bb
|
||||||
|
Loading…
x
Reference in New Issue
Block a user