aboutsummaryrefslogtreecommitdiff
path: root/coreutils/ls.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-12-19 06:16:28 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2010-12-19 06:16:28 +0100
commit163d86435729cc53d6d4088129f2cde106dd1318 (patch)
tree3116ade782677adf9416c3dd9c79ed402893a69d /coreutils/ls.c
parentd87815d5e0721176ee13776956f648e660c895d5 (diff)
downloadbusybox-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.c12
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;