Browse Source

Recognizing appended partitions with partition offset 16

master
Thomas Schmitt 4 years ago
parent
commit
2d35076b36
  1. 12
      xorriso/iso_img.c
  2. 2
      xorriso/xorriso_timestamp.h

12
xorriso/iso_img.c

@ -1660,7 +1660,7 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
char *cat_path= "";
struct elto_img_par *et_imgs= NULL;
int elto_count= 0;
uint32_t img_blocks= 0, mbr_parts_end= 0;
uint32_t img_blocks= 0, mbr_parts_end= 0, iso_part_blocks;
struct FindjoB *job= NULL;
struct stat dir_stbuf;
IsoImage *image;
@ -1973,6 +1973,14 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
if(!have_protective_msdos)
appended_as_gpt= 0;
iso_part_blocks= img_blocks;
for(mbr_idx = 0; mbr_idx < mbr_count; mbr_idx++) {
if(mbrpts[mbr_idx].start_block == partition_offset * 4) {
iso_part_blocks= mbrpts[mbr_idx].block_count + partition_offset * 4;
break;
}
}
/* Second pass: scan for System Area info */
for(i= 0; i < line_count; i++) {
buf[0]= 0;
@ -2061,7 +2069,7 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
sscanf(contentpt, "%lu 0x%lx 0x%lx %lu %lu",
&partno, &part_status, &part_type, &start_block, &num_blocks);
if(num_blocks > 0 && part_type != 0x00 && part_type != 0xee &&
(img_blocks <= start_block ||
(iso_part_blocks <= start_block ||
(have_protective_msdos && img_blocks == mbr_parts_end &&
partno > 1))) {
if(!appended_as_gpt) {

2
xorriso/xorriso_timestamp.h

@ -1 +1 @@
#define Xorriso_timestamP "2017.11.17.143122"
#define Xorriso_timestamP "2017.11.25.095955"

Loading…
Cancel
Save