Avoiding to recognize real GPT as -part_like_isohybrid

This commit is contained in:
Thomas Schmitt 2017-04-09 19:52:54 +02:00
parent 9a3869f692
commit 2f24d82e3c
2 changed files with 15 additions and 7 deletions

View File

@ -1912,7 +1912,7 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
} else if(strcmp(name, "GPT start and size :") == 0) {
idx= num[0] - 1;
if(img_blocks <= num[1] && num[2] > 0)
if(num[2] > 0)
appended_as_gpt= 1;
gpts[idx].start_block= num[1];
gpts[idx].block_count= num[2];
@ -2059,8 +2059,8 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
Xorriso_add_intvl_adr(xorriso, buf, (uint64_t) start_block,
((uint64_t) start_block) + num_blocks - 1, "d",
imported_iso);
} else if((part_status & 0x80) && part_type == 0x00 &&
start_block == 0 && num_blocks == 1) {
} else if((part_status & 0x80) && part_type == 0x00 &&
start_block == 0 && num_blocks == 1) {
if(mkisofs)
sprintf(buf, "--mbr-force-bootable");
else
@ -2157,12 +2157,20 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
Xorriso_add_intvl_adr(xorriso, buf, (uint64_t) num[1],
(uint64_t) (num[1] + num[2] - 1.0), "d",
imported_iso);
Xorriso_record_cmd_linE
buf[0]= 0;
appended_partition= 1;
}
ret= Xorriso_search_eltorito_lba(xorriso, et_imgs, elto_count,
(unsigned int) (num[1] / 4.0),
&et_idx, 0);
/* Check for isohybri-ish MBR and GPT mix */
if(mbr_count == 1 && mbrpts[0].ptype == 0xee && have_protective_msdos) {
/* real GPT is not -part_like_isohybrid */
ret= 0;
} else {
ret= Xorriso_search_eltorito_lba(xorriso, et_imgs, elto_count,
(unsigned int) (num[1] / 4.0),
&et_idx, 0);
}
if(ret > 0) {
if(!(et_imgs[et_idx].do_gpt_basdat ||
et_imgs[et_idx].do_gpt_hfsplus ||

View File

@ -1 +1 @@
#define Xorriso_timestamP "2017.02.27.094332"
#define Xorriso_timestamP "2017.04.09.175231"