From a41627f25402a38eae2e71a80cae143172dd8e0b Mon Sep 17 00:00:00 2001 From: Quentin Rameau Date: Sat, 18 Apr 2015 23:57:17 +0200 Subject: [PATCH 1/4] ls: fix -f flag Corrected handling of other options when -f is passed Also updated usage() --- ls.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/ls.c b/ls.c index 45de1fe..d211342 100644 --- a/ls.c +++ b/ls.c @@ -276,7 +276,7 @@ ls(const struct entry *ent, int recurse) static void usage(void) { - eprintf("usage: %s [-1AacdFHhiLlqRrtUu] [file ...]\n", argv0); + eprintf("usage: %s [-1AacdFfHhiLlpqRrStUu] [file ...]\n", argv0); } int @@ -302,13 +302,16 @@ main(int argc, char *argv[]) case 'd': dflag = 1; break; + case 'F': + Fflag = 1; + break; case 'f': aflag = 1; fflag = 1; Uflag = 1; - break; - case 'F': - Fflag = 1; + rflag = 0; + Sflag = 0; + tflag = 0; break; case 'H': Hflag = 1; @@ -343,12 +346,16 @@ main(int argc, char *argv[]) rflag = 1; break; case 'S': - Sflag = 1; - tflag = 0; + if (!fflag) { + Sflag = 1; + tflag = 0; + } break; case 't': - Sflag = 0; - tflag = 1; + if (!fflag) { + Sflag = 0; + tflag = 1; + } break; case 'U': Uflag = 1; -- 2.3.5