summaryrefslogtreecommitdiff
path: root/coreutils/ls.c
diff options
context:
space:
mode:
authorGlenn L McGrath2004-03-06 09:12:55 +0000
committerGlenn L McGrath2004-03-06 09:12:55 +0000
commitc4db0833a6c91dd3714bec1db076a80910af6e30 (patch)
treea85a239275938b42e39908bd9edb48b962348e99 /coreutils/ls.c
parenta89bbfb257993ee6fddf4a15204e425d42d2ca2a (diff)
downloadbusybox-c4db0833a6c91dd3714bec1db076a80910af6e30.zip
busybox-c4db0833a6c91dd3714bec1db076a80910af6e30.tar.gz
Patch from Matt Kraai to fix debian bug number 231994.
There was an extra blank line preceding the first directory.
Diffstat (limited to 'coreutils/ls.c')
-rw-r--r--coreutils/ls.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/coreutils/ls.c b/coreutils/ls.c
index 89e5021..46fe39d 100644
--- a/coreutils/ls.c
+++ b/coreutils/ls.c
@@ -532,7 +532,7 @@ static void showfiles(struct dnode **dn, int nfiles)
}
/*----------------------------------------------------------------------*/
-static void showdirs(struct dnode **dn, int ndirs)
+static void showdirs(struct dnode **dn, int ndirs, int first)
{
int i, nfiles;
struct dnode **subdnp;
@@ -547,7 +547,10 @@ static void showdirs(struct dnode **dn, int ndirs)
for (i = 0; i < ndirs; i++) {
if (all_fmt & (DISP_DIRNAME | DISP_RECURSIVE)) {
- printf("\n%s:\n", dn[i]->fullname);
+ if (!first)
+ printf("\n");
+ first = 0;
+ printf("%s:\n", dn[i]->fullname);
}
subdnp = list_dir(dn[i]->fullname);
nfiles = countfiles(subdnp);
@@ -566,7 +569,7 @@ static void showdirs(struct dnode **dn, int ndirs)
#ifdef CONFIG_FEATURE_LS_SORTFILES
shellsort(dnd, dndirs);
#endif
- showdirs(dnd, dndirs);
+ showdirs(dnd, dndirs, 0);
free(dnd); /* free the array of dnode pointers to the dirs */
}
}
@@ -1129,7 +1132,7 @@ extern int ls_main(int argc, char **argv)
#ifdef CONFIG_FEATURE_LS_SORTFILES
shellsort(dnd, dndirs);
#endif
- showdirs(dnd, dndirs);
+ showdirs(dnd, dndirs, dnfiles == 0);
}
}
return (status);