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.
diff --git a/ls.c b/ls.c
index b132a3c..72d7434 100644
--- a/ls.c
+++ b/ls.c
@@ -270,7 +270,7 @@
 	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]);