ls: Don't show directory name with single directory operand
This fixes the issue b107489bf2cda579ca53551206270b9eee80c059 tried to fix, but doesn't break -R (which bb83eade399e7d6f3642ae3a5e2cdebab6f222a1 tried to fix).
This commit is contained in:
parent
e8e9b97baf
commit
ea03da0bda
5
ls.c
5
ls.c
@ -53,6 +53,7 @@ static int Uflag = 0;
|
||||
static int uflag = 0;
|
||||
static int first = 1;
|
||||
static char sort = 0;
|
||||
static int showdirs;
|
||||
|
||||
static void ls(const char *, const struct entry *, int);
|
||||
|
||||
@ -277,7 +278,7 @@ lsdir(const char *path, const struct entry *dir)
|
||||
if (!Uflag)
|
||||
qsort(ents, n, sizeof(*ents), entcmp);
|
||||
|
||||
if (path[0] || dir->name[0] != '.')
|
||||
if (path[0] || showdirs)
|
||||
printf("%s:\n", dir->name);
|
||||
for (i = 0; i < n; i++)
|
||||
output(&ents[i]);
|
||||
@ -469,6 +470,8 @@ main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
showdirs = ds > 1 || (ds && fs);
|
||||
|
||||
qsort(fents, fs, sizeof(ent), entcmp);
|
||||
qsort(dents, ds, sizeof(ent), entcmp);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user