mirror of
https://github.com/vivier/EMILE.git
synced 2024-12-21 18:30:20 +00:00
use sector number instead of computing it from struct size and block size
This commit is contained in:
parent
c4fb2d359e
commit
47a16fe0c8
@ -11,9 +11,8 @@
|
|||||||
|
|
||||||
int map_read(map_t *map, int part)
|
int map_read(map_t *map, int part)
|
||||||
{
|
{
|
||||||
off_t offset;
|
|
||||||
int ret;
|
int ret;
|
||||||
int blocksize = map->device->get_blocksize(map->device);
|
int blocksize = map->device->get_blocksize(map->device->data);
|
||||||
|
|
||||||
if (map->current == part)
|
if (map->current == part)
|
||||||
return part;
|
return part;
|
||||||
@ -21,10 +20,8 @@ int map_read(map_t *map, int part)
|
|||||||
if (part > read_long((u_int32_t*)&map->partition.MapBlkCnt))
|
if (part > read_long((u_int32_t*)&map->partition.MapBlkCnt))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
offset = part * sizeof(struct Partition) + sizeof(struct DriverDescriptor);
|
ret = map->device->read_sector(map->device->data, 1 + part,
|
||||||
|
&map->partition, blocksize);
|
||||||
ret = map->device->read_sector(map->device->data, offset / blocksize, &map->partition,
|
|
||||||
sizeof(struct Partition));
|
|
||||||
if (ret == -1)
|
if (ret == -1)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user