bore

basic core utilities (PD)
git clone git://bvnf.space/bore.git
Log | Files | Refs | README

commit 195230754023318f130f9407be1e69baba4d9971
parent 54f5001c8bd8181248bc25d4f4be0f62b445898d
Author: phoebos <ben@bvnf.space>
Date:   Wed, 22 Dec 2021 03:17:42 +0000

ls: add -f

Diffstat:
MPROGRESS | 2+-
Mls.c | 33+++++++++++++++++++--------------
2 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/PROGRESS b/PROGRESS @@ -22,7 +22,7 @@ [ ] id [ ] kill [ ] ln -[ ] ls [-1AFSacgimnopqrtu] +[ ] ls [-1AFSacfgimnopqrtu] [ ] mkdir [ ] more [ ] mv diff --git a/ls.c b/ls.c @@ -19,17 +19,18 @@ enum { FLAG_S = 1 << 3, FLAG_a = 1 << 4, FLAG_c = 1 << 5, - FLAG_g = 1 << 6, - FLAG_i = 1 << 7, - FLAG_l = 1 << 8, - FLAG_m = 1 << 9, - FLAG_n = 1 << 10, - FLAG_o = 1 << 11, - FLAG_p = 1 << 12, - FLAG_q = 1 << 13, - FLAG_r = 1 << 14, - FLAG_t = 1 << 15, - FLAG_u = 1 << 16, + FLAG_f = 1 << 6, + FLAG_g = 1 << 7, + FLAG_i = 1 << 8, + FLAG_l = 1 << 9, + FLAG_m = 1 << 10, + FLAG_n = 1 << 11, + FLAG_o = 1 << 12, + FLAG_p = 1 << 13, + FLAG_q = 1 << 14, + FLAG_r = 1 << 15, + FLAG_t = 1 << 16, + FLAG_u = 1 << 17, }; uint32_t flags; @@ -344,7 +345,8 @@ ls(const char *path) { } finished_scan: - qsort(entries, num_entries, sizeof(struct ent), sort); + if (~flags & FLAG_f) + qsort(entries, num_entries, sizeof(struct ent), sort); for (size_t i = 0; i < num_entries; i++) { printname(&entries[i]); } @@ -368,7 +370,7 @@ main(int argc, char **argv) { int c, ret_val; flags = ret_val = 0; - while ((c = getopt(argc, argv, "1AFSacghilmnopqrtu")) != -1) { + while ((c = getopt(argc, argv, "1AFSacfghilmnopqrtu")) != -1) { switch (c) { case '1': flags |= FLAG_1 | FLAG_q; @@ -390,12 +392,15 @@ main(int argc, char **argv) { flags |= FLAG_c; flags &= ~FLAG_u; break; + case 'f': + flags |= FLAG_f; + break; case 'g': flags |= FLAG_g | FLAG_l | FLAG_1; flags &= ~FLAG_m; break; case 'h': - printf("usage: %s [-1AFSacgilmnopqrtu]\n", argv[0]); + printf("usage: %s [-1AFSacfgilmnopqrtu]\n", argv[0]); return 0; case 'i': flags |= FLAG_i;