* grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
(utf8_to_macroman): Do the opposite. * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
This commit is contained in:
parent
64e3f8f6fe
commit
76df2068c4
3 changed files with 27 additions and 1 deletions
|
@ -789,6 +789,9 @@ grub_hfsplus_iterate_dir (grub_fshelp_node_t dir,
|
|||
{
|
||||
catkey->name[i] = grub_be_to_cpu16 (catkey->name[i]);
|
||||
|
||||
if (catkey->name[i] == '/')
|
||||
catkey->name[i] = ':';
|
||||
|
||||
/* If the name is obviously invalid, skip this node. */
|
||||
if (catkey->name[i] == 0)
|
||||
return 0;
|
||||
|
@ -799,7 +802,11 @@ grub_hfsplus_iterate_dir (grub_fshelp_node_t dir,
|
|||
|
||||
/* Restore the byte order to what it was previously. */
|
||||
for (i = 0; i < grub_be_to_cpu16 (catkey->namelen); i++)
|
||||
catkey->name[i] = grub_be_to_cpu16 (catkey->name[i]);
|
||||
{
|
||||
if (catkey->name[i] == ':')
|
||||
catkey->name[i] = '/';
|
||||
catkey->name[i] = grub_be_to_cpu16 (catkey->name[i]);
|
||||
}
|
||||
|
||||
/* hfs+ is case insensitive. */
|
||||
if (! dir->data->case_sensitive)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue