+2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
+
+ * commands/ls.c (grub_ls_list_disks): Print the filesystem
+ information on each device, if it does not have partitions. Print
+ "Device" instead of "Disk", because this function is not specific
+ to disk devices.
+
+ * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
+ static to ensure that it is put on the memory rather than a
+ register.
+
2005-07-17 Yoshinori Okuji <okuji@enbug.org>
* commands/cat.c (GRUB_MOD_INIT): Use better documentation.
if (dev)
{
if (longlist)
- grub_printf ("Disk: %s\n", name);
+ {
+ grub_printf ("Device: %s", name);
+
+ if (! dev->disk || ! dev->disk->has_partitions)
+ {
+ grub_fs_t fs;
+ char *label;
+
+ fs = grub_fs_probe (dev);
+ grub_errno = GRUB_ERR_NONE;
+
+ grub_printf (", Filesystem type %s",
+ fs ? fs->name : "Unknown");
+
+ (fs->label) (dev, &label);
+ if (grub_errno == GRUB_ERR_NONE)
+ {
+ if (label && grub_strlen (label))
+ grub_printf (", Label: %s", label);
+ grub_free (label);
+ }
+ else
+ grub_errno = GRUB_ERR_NONE;
+ }
+
+ grub_putchar ('\n');
+ }
else
grub_printf ("(%s) ", name);
grub_putchar ('\n');
grub_refresh ();
-
return 0;
}
{
if (argc == 0)
{
- /* Guess the config filename. */
- char *config;
+ /* Guess the config filename. It is necessary to make CONFIG static,
+ so that it won't get broken by longjmp. */
+ static char *config;
const char *prefix;
prefix = grub_env_get ("prefix");