X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/ef40780f20635da1ad36b13960521bfa3100949f..7cdc7386a89143dfe1b1a4397cfa20e3a0770dfd:/VtoyTool/vtoydm.c diff --git a/VtoyTool/vtoydm.c b/VtoyTool/vtoydm.c index aa460af..ec0cb95 100644 --- a/VtoyTool/vtoydm.c +++ b/VtoyTool/vtoydm.c @@ -486,8 +486,8 @@ static int vtoydm_print_linear_table(const char *img_map_file, const char *diskn { int i; int len; + uint32_t disk_sector_num; uint32_t sector_start; - uint32_t sector_num; ventoy_img_chunk *chunk = NULL; chunk = vtoydm_get_img_map_data(img_map_file, &len); @@ -499,17 +499,26 @@ static int vtoydm_print_linear_table(const char *img_map_file, const char *diskn for (i = 0; i < len / sizeof(ventoy_img_chunk); i++) { sector_start = chunk[i].img_start_sector; - sector_num = chunk[i].img_end_sector - chunk[i].img_start_sector + 1; + disk_sector_num = (uint32_t)(chunk[i].disk_end_sector + 1 - chunk[i].disk_start_sector); /* TBD: to be more flexible */ #if 0 printf("%u %u linear %s %llu\n", - (sector_start << 2), (sector_num << 2), + (sector_start << 2), disk_sector_num, diskname, (unsigned long long)chunk[i].disk_start_sector); #else - printf("%u %u linear %s1 %llu\n", - (sector_start << 2), (sector_num << 2), + if (strstr(diskname, "nvme") || strstr(diskname, "mmc")) + { + printf("%u %u linear %sp1 %llu\n", + (sector_start << 2), disk_sector_num, diskname, (unsigned long long)chunk[i].disk_start_sector - 2048); + } + else + { + printf("%u %u linear %s1 %llu\n", + (sector_start << 2), disk_sector_num, + diskname, (unsigned long long)chunk[i].disk_start_sector - 2048); + } #endif }