ls: only display directory headers when more than one directory is specified
This commit is contained in:
parent
d9c85a2d79
commit
b107489bf2
5
ls.c
5
ls.c
|
@ -52,6 +52,7 @@ static int Uflag = 0;
|
||||||
static int uflag = 0;
|
static int uflag = 0;
|
||||||
static int first = 1;
|
static int first = 1;
|
||||||
static char sort = 0;
|
static char sort = 0;
|
||||||
|
static size_t ds = 0;
|
||||||
|
|
||||||
static void ls(const char *, const struct entry *, int);
|
static void ls(const char *, const struct entry *, int);
|
||||||
|
|
||||||
|
@ -269,7 +270,7 @@ lsdir(const char *path, const struct entry *dir)
|
||||||
if (!Uflag)
|
if (!Uflag)
|
||||||
qsort(ents, n, sizeof(*ents), entcmp);
|
qsort(ents, n, sizeof(*ents), entcmp);
|
||||||
|
|
||||||
if (path[0] || dir->name[0] != '.')
|
if (ds > 1 && (path[0] || dir->name[0] != '.'))
|
||||||
printf("%s:\n", dir->name);
|
printf("%s:\n", dir->name);
|
||||||
for (i = 0; i < n; i++)
|
for (i = 0; i < n; i++)
|
||||||
output(&ents[i]);
|
output(&ents[i]);
|
||||||
|
@ -360,7 +361,7 @@ int
|
||||||
main(int argc, char *argv[])
|
main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
struct entry ent, *dents, *fents;
|
struct entry ent, *dents, *fents;
|
||||||
size_t i, ds, fs;
|
size_t i, fs;
|
||||||
|
|
||||||
ARGBEGIN {
|
ARGBEGIN {
|
||||||
case '1':
|
case '1':
|
||||||
|
|
Loading…
Reference in New Issue
Block a user