48 |
int grub_ls_print_disks (const char *name) |
int grub_ls_print_disks (const char *name) |
49 |
{ |
{ |
50 |
grub_device_t dev; |
grub_device_t dev; |
51 |
auto int print_partition (const grub_partition_t p); |
auto int print_partition (grub_disk_t disk, const grub_partition_t p); |
52 |
|
|
53 |
int print_partition (const grub_partition_t p) |
int print_partition (grub_disk_t disk __attribute__ ((unused)), |
54 |
|
const grub_partition_t p) |
55 |
{ |
{ |
56 |
char *pname = grub_partition_get_name (p); |
char *pname = grub_partition_get_name (p); |
57 |
|
|
58 |
if (pname) |
if (pname) |
59 |
{ |
{ |
60 |
if (longlist) |
if (longlist) |
61 |
grub_print_partinfo (dev, pname); |
{ |
62 |
|
char device_name[grub_strlen (name) + 1 |
63 |
|
+ grub_strlen (pname) + 1]; |
64 |
|
grub_sprintf (device_name, "%s,%s", name, pname); |
65 |
|
grub_normal_print_device_info (device_name); |
66 |
|
} |
67 |
else |
else |
68 |
grub_printf ("(%s,%s) ", name, pname); |
grub_printf ("(%s,%s) ", name, pname); |
69 |
|
|
70 |
|
grub_free (pname); |
71 |
} |
} |
72 |
|
|
73 |
return 0; |
return 0; |
79 |
if (dev) |
if (dev) |
80 |
{ |
{ |
81 |
if (longlist) |
if (longlist) |
82 |
{ |
grub_normal_print_device_info (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"); |
|
|
|
|
|
if (fs && fs->label) |
|
|
{ |
|
|
(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'); |
|
|
} |
|
83 |
else |
else |
84 |
grub_printf ("(%s) ", name); |
grub_printf ("(%s) ", name); |
85 |
|
|
202 |
{ |
{ |
203 |
if (grub_errno == GRUB_ERR_UNKNOWN_FS) |
if (grub_errno == GRUB_ERR_UNKNOWN_FS) |
204 |
grub_errno = GRUB_ERR_NONE; |
grub_errno = GRUB_ERR_NONE; |
205 |
|
|
206 |
grub_printf ("(%s): Filesystem is %s", |
grub_normal_print_device_info (device_name); |
|
device_name, fs ? fs->name : "unknown"); |
|
|
|
|
|
if (fs && fs->label) |
|
|
{ |
|
|
char *label; |
|
|
|
|
|
(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'); |
|
207 |
} |
} |
208 |
else if (fs) |
else if (fs) |
209 |
{ |
{ |