From bb83eade399e7d6f3642ae3a5e2cdebab6f222a1 Mon Sep 17 00:00:00 2001 From: "pekka.jylha.ollila@gmail.com" Date: Wed, 17 Feb 2016 20:56:39 +0200 Subject: [PATCH] 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. --- ls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ls.c b/ls.c index b132a3c..72d7434 100644 --- 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]);