aboutsummaryrefslogtreecommitdiff
path: root/toys/posix/ls.c
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2019-11-05 19:09:15 -0600
committerRob Landley <rob@landley.net>2019-11-05 19:09:15 -0600
commit13468ca834b3ae6203541b44e1e2b2d7d86bb153 (patch)
tree233fc105b11e4862fff957d5fb789fe4357292a7 /toys/posix/ls.c
parenta0a51dee7cc2b39154f4272430a963f3ebbf222e (diff)
downloadtoybox-13468ca834b3ae6203541b44e1e2b2d7d86bb153.tar.gz
Switch -w tests to check boundary conditions, fix code to pass tests,
variable declarations go at the start of blocks, and remove specific people's names from todo items (anybody can do any todo).
Diffstat (limited to 'toys/posix/ls.c')
-rw-r--r--toys/posix/ls.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/toys/posix/ls.c b/toys/posix/ls.c
index c7b09bf2..548a31a7 100644
--- a/toys/posix/ls.c
+++ b/toys/posix/ls.c
@@ -403,10 +403,9 @@ static void listfiles(int dirfd, struct dirtree *indir)
// Loop through again to produce output.
width = 0;
- unsigned curcol = 0;
for (ul = 0; ul<dtlen; ul++) {
int ii, zap;
- unsigned lastlen = *len, lastcol = curcol, color = 0;
+ unsigned curcol, lastlen = *len, lastcol = ul ? curcol : 0, color = 0;
unsigned long next = next_column(ul, dtlen, columns, &curcol);
struct stat *st = &(sort[next]->st);
mode_t mode = st->st_mode;
@@ -565,10 +564,8 @@ void ls_main(void)
}
TT.screen_width = 80;
- if (FLAG(w)) {
- // TODO (ilijic): Add test for setting w flag
- TT.screen_width = TT.w;
- } else { terminal_size(&TT.screen_width, NULL); }
+ if (FLAG(w)) TT.screen_width = TT.w+4;
+ else terminal_size(&TT.screen_width, NULL);
if (TT.screen_width<2) TT.screen_width = 2;
if (FLAG(b)) TT.escmore = " \\";