* Apparently the "free_identify_partition_cookie()" function pointer should
not be NULL. If the intention is to allow this, then there is a bug somewhere else. Fixes booting on Macs, thanks to Zenja for testing this! * Fixed what I believe to be an off-by-one error in BlockCount(). This also makes it symetrical with SetBlockCount(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31069 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -505,6 +505,13 @@ efi_gpt_scan_partition(int fd, partition_data *partition, void *_cookie)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
efi_gpt_free_identify_partition_cookie(partition_data *partition, void *_cookie)
|
||||
{
|
||||
// Cookie is freed in efi_gpt_free_partition_content_cookie().
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
efi_gpt_free_partition_content_cookie(partition_data *partition)
|
||||
{
|
||||
@@ -1222,7 +1229,7 @@ partition_module_info gEFIPartitionModule = {
|
||||
// scanning
|
||||
efi_gpt_identify_partition,
|
||||
efi_gpt_scan_partition,
|
||||
NULL, // free_identify_partition_cookie
|
||||
efi_gpt_free_identify_partition_cookie,
|
||||
NULL, // free_partition_cookie
|
||||
efi_gpt_free_partition_content_cookie,
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ struct efi_partition_entry {
|
||||
void SetBlockCount(uint64 blockCount)
|
||||
{ SetEndBlock(StartBlock() + blockCount - 1); }
|
||||
uint64 BlockCount() const
|
||||
{ return EndBlock() - StartBlock(); }
|
||||
{ return EndBlock() - StartBlock() + 1; }
|
||||
} _PACKED;
|
||||
|
||||
#endif /* EFI_GPT_H */
|
||||
|
||||
Reference in New Issue
Block a user