commit bb83eade399e7d6f3642ae3a5e2cdebab6f222a1
parent b97839751bad4a2b38ed38359ad82153e3e3b9cc
Author: pekka.jylha.ollila@gmail.com <pekka.jylha.ollila@gmail.com>
Date: Wed, 17 Feb 2016 20:56:39 +0200
Fix showing directories when -R flag is set in ls(1)
Here's a better version of the patch.
When the R flag is used with a single directory, the given directory name is
omitted. With multiple directories each directory name is listed.
Directories that start with './' and '../' are now also printed.
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ls.c b/ls.c
@@ -270,7 +270,7 @@ lsdir(const char *path, const struct entry *dir)
if (!Uflag)
qsort(ents, n, sizeof(*ents), entcmp);
- if (ds > 1 && (path[0] || dir->name[0] != '.'))
+ if (ds++)
printf("%s:\n", dir->name);
for (i = 0; i < n; i++)
output(&ents[i]);