* grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
to 15 UTF-16 characters as seen in FS generated by mkexfatfs. (grub_fat_label) [MODE_EXFAT]: Use macros for size.
This commit is contained in:
parent
7397c69bb8
commit
dec8ed14b9
2 changed files with 9 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
|
||||||
|
to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
|
||||||
|
(grub_fat_label) [MODE_EXFAT]: Use macros for size.
|
||||||
|
|
||||||
2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
|
2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
|
* grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
|
||||||
|
|
|
@ -122,8 +122,7 @@ struct grub_fat_dir_entry
|
||||||
} __attribute__ ((packed)) file_name;
|
} __attribute__ ((packed)) file_name;
|
||||||
struct {
|
struct {
|
||||||
grub_uint8_t character_count;
|
grub_uint8_t character_count;
|
||||||
grub_uint16_t str[11];
|
grub_uint16_t str[15];
|
||||||
grub_uint8_t reserved[8];
|
|
||||||
} __attribute__ ((packed)) volume_label;
|
} __attribute__ ((packed)) volume_label;
|
||||||
} __attribute__ ((packed)) type_specific;
|
} __attribute__ ((packed)) type_specific;
|
||||||
} __attribute__ ((packed));
|
} __attribute__ ((packed));
|
||||||
|
@ -1046,7 +1045,8 @@ grub_fat_label (grub_device_t device, char **label)
|
||||||
if (dir.entry_type == 0x83)
|
if (dir.entry_type == 0x83)
|
||||||
{
|
{
|
||||||
grub_size_t chc;
|
grub_size_t chc;
|
||||||
*label = grub_malloc (11 * 4 + 1);
|
*label = grub_malloc (ARRAY_SIZE (dir.type_specific.volume_label.str)
|
||||||
|
* GRUB_MAX_UTF8_PER_UTF16 + 1);
|
||||||
if (!*label)
|
if (!*label)
|
||||||
{
|
{
|
||||||
grub_free (data);
|
grub_free (data);
|
||||||
|
|
Loading…
Reference in a new issue