diff options
Diffstat (limited to 'cgpt/cgpt_add.c')
-rw-r--r-- | cgpt/cgpt_add.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/cgpt/cgpt_add.c b/cgpt/cgpt_add.c index a93c60c6..fc40ebc5 100644 --- a/cgpt/cgpt_add.c +++ b/cgpt/cgpt_add.c @@ -102,13 +102,15 @@ static int MtdSetEntryAttributes(struct drive *drive, MtdDiskPartition *entry; entry = MtdGetEntry(&drive->mtd, PRIMARY, index); - if (params->set_begin) - memcpy(&entry->starting_offset, ¶ms->begin, sizeof(params->begin)); + if (params->set_begin) { + uint64_t start = params->begin * drive->mtd.sector_bytes; + memcpy(&entry->starting_offset, &start, sizeof(params->begin)); + } if (params->set_size) { uint64_t start; uint64_t end; MtdGetPartitionSize(entry, &start, NULL, NULL); - end = start + params->size - 1; + end = start + params->size * drive->mtd.sector_bytes - 1; memcpy(&entry->ending_offset, &end, sizeof(end)); } if (params->set_type) |