int all;
int human;
int longlist;
+ int print_dirhdr;
};
/* Helper for grub_ls_list_files. */
if ((ctx->filename != NULL) && (grub_strcmp (filename, ctx->filename) != 0))
return 0;
+ if (ctx->print_dirhdr)
+ {
+ grub_printf ("%s:\n", ctx->dirname);
+ ctx->print_dirhdr = 0;
+ }
+
if (! ctx->longlist)
{
if (ctx->filename != NULL)
}
static grub_err_t
-grub_ls_list_files (char *dirname, int longlist, int all, int human)
+grub_ls_list_files (char *dirname, int longlist, int all, int human, int dirhdr)
{
char *device_name;
grub_fs_t fs;
.filename = NULL,
.all = all,
.human = human,
- .longlist = longlist
+ .longlist = longlist,
+ .print_dirhdr = dirhdr
};
(fs->fs_dir) (dev, path, print_file, &ctx);
grub_errno = GRUB_ERR_NONE;
/* PATH might be a regular file. */
+ ctx.print_dirhdr = 0;
ctx.filename = grub_strrchr (dirname, '/');
if (ctx.filename == NULL)
goto fail;
grub_ls_list_devices (state[0].set);
else
for (i = 0; i < argc; i++)
- grub_ls_list_files (args[i], state[0].set, state[2].set,
- state[1].set);
+ grub_ls_list_files (args[i], state[0].set, state[2].set, state[1].set,
+ argc > 1);
return GRUB_ERR_NONE;
}