Made Xorriso_obtain_indev_readsize() ready for long block adresses

This commit is contained in:
2024-03-21 09:44:51 +01:00
parent 5e03c659e3
commit 458b0cb3de
5 changed files with 11 additions and 9 deletions

View File

@ -1801,7 +1801,8 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
unsigned long int sa_options= 0, partno, id_tag, perms, start_cyl;
unsigned long int part_status, part_type, mbr_start_block, mbr_num_blocks;
unsigned long int partition_offset= 0;
uint32_t high_block= 0, indev_blocks;
uint32_t high_block= 0;
off_t indev_blocks;
char name[24], *textpt, *contentpt, *buf= NULL, part_type_text[37];
char **lines= NULL;
double num[8];
@ -2849,7 +2850,7 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
et_imgs[idx].extract_size <= 0) {
ret= Xorriso_obtain_indev_readsize(xorriso, &indev_blocks, 0);
if(ret > 0) {
if(indev_blocks > et_imgs[idx].lba &&
if(indev_blocks > (off_t) et_imgs[idx].lba &&
indev_blocks - et_imgs[idx].lba <= Xorriso_max_endless_uefi_sizE)
et_imgs[idx].extract_size= indev_blocks - et_imgs[idx].lba;
}