diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2010-12-19 06:16:28 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-12-19 06:16:28 +0100 |
commit | 163d86435729cc53d6d4088129f2cde106dd1318 (patch) | |
tree | 3116ade782677adf9416c3dd9c79ed402893a69d /coreutils/ls.c | |
parent | d87815d5e0721176ee13776956f648e660c895d5 (diff) | |
download | busybox-w32-163d86435729cc53d6d4088129f2cde106dd1318.tar.gz busybox-w32-163d86435729cc53d6d4088129f2cde106dd1318.tar.bz2 busybox-w32-163d86435729cc53d6d4088129f2cde106dd1318.zip |
ls: make -F not follow symlinks of the command line
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils/ls.c')
-rw-r--r-- | coreutils/ls.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/coreutils/ls.c b/coreutils/ls.c index f515f9f8f..02e26bedb 100644 --- a/coreutils/ls.c +++ b/coreutils/ls.c | |||
@@ -155,15 +155,17 @@ enum { | |||
155 | OPT_Q = (1 << 10), | 155 | OPT_Q = (1 << 10), |
156 | //OPT_A = (1 << 11), | 156 | //OPT_A = (1 << 11), |
157 | //OPT_k = (1 << 12), | 157 | //OPT_k = (1 << 12), |
158 | OPTBIT_color = 13 | 158 | OPTBIT_F = 13 |
159 | + 4 * ENABLE_FEATURE_LS_TIMESTAMPS | 159 | + 4 * ENABLE_FEATURE_LS_TIMESTAMPS |
160 | + 4 * ENABLE_FEATURE_LS_SORTFILES | 160 | + 4 * ENABLE_FEATURE_LS_SORTFILES, |
161 | OPTBIT_color = OPTBIT_F | ||
161 | + 2 * ENABLE_FEATURE_LS_FILETYPES | 162 | + 2 * ENABLE_FEATURE_LS_FILETYPES |
162 | + 1 * ENABLE_FEATURE_LS_FOLLOWLINKS | 163 | + 1 * ENABLE_FEATURE_LS_FOLLOWLINKS |
163 | + 1 * ENABLE_FEATURE_LS_RECURSIVE | 164 | + 1 * ENABLE_FEATURE_LS_RECURSIVE |
164 | + 1 * ENABLE_FEATURE_HUMAN_READABLE | 165 | + 1 * ENABLE_FEATURE_HUMAN_READABLE |
165 | + 2 * ENABLE_SELINUX | 166 | + 2 * ENABLE_SELINUX |
166 | + 2 * ENABLE_FEATURE_AUTOWIDTH, | 167 | + 2 * ENABLE_FEATURE_AUTOWIDTH, |
168 | OPT_F = (1 << OPTBIT_F) * ENABLE_FEATURE_LS_FILETYPES, | ||
167 | OPT_color = 1 << OPTBIT_color, | 169 | OPT_color = 1 << OPTBIT_color, |
168 | }; | 170 | }; |
169 | 171 | ||
@@ -1066,8 +1068,10 @@ int ls_main(int argc UNUSED_PARAM, char **argv) | |||
1066 | dn = NULL; | 1068 | dn = NULL; |
1067 | nfiles = 0; | 1069 | nfiles = 0; |
1068 | do { | 1070 | do { |
1069 | /* NB: follow links on command line unless -l or -s */ | 1071 | /* NB: follow links on command line unless -l, -s or -F */ |
1070 | cur = my_stat(*argv, *argv, !(all_fmt & (STYLE_LONG|LIST_BLOCKS))); | 1072 | cur = my_stat(*argv, *argv, |
1073 | !((all_fmt & (STYLE_LONG|LIST_BLOCKS)) || (option_mask32 & OPT_F)) | ||
1074 | ); | ||
1071 | argv++; | 1075 | argv++; |
1072 | if (!cur) | 1076 | if (!cur) |
1073 | continue; | 1077 | continue; |