diff options
-rwxr-xr-x | tests/ls.test | 1 | ||||
-rw-r--r-- | toys/posix/ls.c | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/tests/ls.test b/tests/ls.test index cba0a3de..91f69183 100755 --- a/tests/ls.test +++ b/tests/ls.test @@ -32,6 +32,7 @@ testing "with -m" "$IN && ls -m; $OUT" "dir1, dir2, file1.txt, file2.txt\n" "" " testing "with -F" "$IN && ls -F; $OUT" "dir1/\ndir2/\nfile1.txt\nfile2.txt\n" "" "" testing "with -dk *" "$IN && ls -dk *; $OUT" "dir1\ndir2\nfile1.txt\nfile2.txt\n" "" "" testing "with -Z" "$IN && ls -Z file1.txt | egrep -q '^[^ ]+ file1.txt' || echo fail; $OUT" "" "" "" +testing "with -lZ" "$IN && ls --full-time -lZ file1.txt | egrep -q '^-[rwx-]+ +[0-9]+ +[^ ]+ +[^ ]+ +[^ ]+ +[0-9]+ [0-9][0-9][0-9][0-9]-[0-9][0-9]-.* file1.txt' || echo fail; $OUT" "" "" "" ln -s file1.txt lstest/slink testing "-l symlink" \ diff --git a/toys/posix/ls.c b/toys/posix/ls.c index 25b77ad7..1640ea70 100644 --- a/toys/posix/ls.c +++ b/toys/posix/ls.c @@ -466,8 +466,8 @@ static void listfiles(int dirfd, struct dirtree *indir) crunch_qb); } } - if (flags & FLAG_Z) - printf("%-*s ", -(int)totals[7], (char *)sort[next]->extra); + if (FLAG(Z)) + printf(" %-*s "+!FLAG(l), -(int)totals[7], (char *)sort[next]->extra); if (flags & (FLAG_l|FLAG_o|FLAG_n|FLAG_g)) { struct tm *tm; @@ -483,7 +483,7 @@ static void listfiles(int dirfd, struct dirtree *indir) // print time, always in --time-style=long-iso tm = localtime(&(st->st_mtime)); - strftime(tmp, sizeof(tmp), "%F %H:%M", tm); + strftime(tmp, sizeof(tmp), " %F %H:%M", tm); if (TT.l>1) { char *s = tmp+strlen(tmp); |