New -boot_image bootspecs partition_table=gpt_basdat, gpt_hfsplus, apm_hfsplus

This commit is contained in:
2014-09-30 18:18:58 +00:00
parent 78c96924e1
commit 8b326cbb91
5 changed files with 121 additions and 66 deletions

View File

@ -716,7 +716,7 @@ treatment_patch:;
} else if(strcmp(treatpt, "discard")==0) {
xorriso->keep_boot_image= 0;
xorriso->patch_isolinux_image= (xorriso->patch_isolinux_image & ~3) | 0;
xorriso->patch_isolinux_image= (xorriso->patch_isolinux_image & ~0x3ff) | 0;
xorriso->boot_image_bin_path[0]= 0;
xorriso->patch_system_area= 0;
if((xorriso->system_area_options & 0xfc ) == 0)
@ -983,6 +983,26 @@ treatment_patch:;
goto ex;
} else
was_ok= 0;
} else if(strncmp(treatpt, "partition_entry=", 16)==0) {
if(strcmp(formpt, "isolinux") != 0) {
sprintf(xorriso->info_text,
"-boot_image %s partition_entry=%s : Wrong type. Need \"isolinux\".",
formpt, treatpt + 16);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
{ret= 0; goto ex;}
}
if(strcmp(treatpt + 16, "gpt_basdat") == 0) {
xorriso->patch_isolinux_image = (xorriso->patch_isolinux_image & ~0x0fc) |
(1 << 2);
} else if(strcmp(treatpt + 16, "gpt_hfsplus") == 0) {
xorriso->patch_isolinux_image = (xorriso->patch_isolinux_image & ~0x0fc) |
(2 << 2);
} else if(strcmp(treatpt + 16, "apm_hfsplus") == 0) {
xorriso->patch_isolinux_image = xorriso->patch_isolinux_image | (1 << 8);
} else if(strcmp(treatpt + 16, "off") == 0) {
xorriso->patch_isolinux_image = (xorriso->patch_isolinux_image & ~0x1fc);
} else
was_ok= 0;
} else if(strncmp(treatpt, "partition_offset=", 17)==0) {
u= 0;