* 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:
Vladimir 'phcoder' Serbinenko 2012-01-14 23:34:33 +01:00
parent 64e3f8f6fe
commit 76df2068c4
3 changed files with 27 additions and 1 deletions

View file

@ -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)