+2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Fix extent overflow comparator.
+
+ * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
+ (grub_hfsplus_read_block): Set type.
+ (grub_hfsplus_cmp_extkey): Compare type.
+
2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
* util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
struct grub_hfsplus_extkey_internal
{
grub_uint32_t fileid;
+ grub_uint8_t type;
grub_uint32_t start;
};
/* Set up the key to look for in the extent overflow file. */
extoverflow.extkey.fileid = node->fileid;
+ extoverflow.extkey.type = 0;
extoverflow.extkey.start = fileblock - blksleft;
if (grub_hfsplus_btree_search (&node->data->extoverflow_tree,
return 1;
if (akey < extkey_b->fileid)
return -1;
+
+ if (extkey_a->type > extkey_b->type)
+ return 1;
+ if (extkey_a->type < extkey_b->type)
+ return -1;
akey = grub_be_to_cpu32 (extkey_a->start);
if (akey > extkey_b->start)