Implement better integration with Mac firmware.
This commit is contained in:
parent
1f032575bb
commit
b8765fa082
15 changed files with 835 additions and 39 deletions
|
@ -1229,14 +1229,18 @@ grub_hfs_dir_hook (struct grub_hfs_record *rec, void *hook_arg)
|
|||
{
|
||||
info.dir = 1;
|
||||
info.mtimeset = 1;
|
||||
info.inodeset = 1;
|
||||
info.mtime = grub_be_to_cpu32 (drec->mtime) - 2082844800;
|
||||
info.inode = grub_be_to_cpu32 (drec->dirid);
|
||||
return ctx->hook (fname, &info, ctx->hook_data);
|
||||
}
|
||||
if (frec->type == GRUB_HFS_FILETYPE_FILE)
|
||||
{
|
||||
info.dir = 0;
|
||||
info.mtimeset = 1;
|
||||
info.inodeset = 1;
|
||||
info.mtime = grub_be_to_cpu32 (frec->mtime) - 2082844800;
|
||||
info.inode = grub_be_to_cpu32 (frec->fileid);
|
||||
return ctx->hook (fname, &info, ctx->hook_data);
|
||||
}
|
||||
|
||||
|
|
|
@ -34,11 +34,6 @@
|
|||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
#define GRUB_HFSPLUS_MAGIC 0x482B
|
||||
#define GRUB_HFSPLUSX_MAGIC 0x4858
|
||||
#define GRUB_HFSPLUS_SBLOCK 2
|
||||
|
||||
|
||||
/* The type of node. */
|
||||
enum grub_hfsplus_btnode_type
|
||||
{
|
||||
|
@ -919,6 +914,8 @@ grub_hfsplus_dir_iter (const char *filename,
|
|||
info.dir = ((filetype & GRUB_FSHELP_TYPE_MASK) == GRUB_FSHELP_DIR);
|
||||
info.mtimeset = 1;
|
||||
info.mtime = node->mtime;
|
||||
info.inodeset = 1;
|
||||
info.inode = node->fileid;
|
||||
info.case_insensitive = !! (filetype & GRUB_FSHELP_CASE_INSENSITIVE);
|
||||
grub_free (node);
|
||||
return ctx->hook (filename, &info, ctx->hook_data);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue