New (yet inofficial) -boot_image bootspec hfsplus_serial=

This commit is contained in:
2012-05-28 13:32:27 +00:00
parent 531ea178f3
commit 6296f1fbbd
4 changed files with 35 additions and 14 deletions

View File

@ -640,9 +640,10 @@ unusable_size:;
int Xorriso_option_boot_image(struct XorrisO *xorriso, char *form,
char *treatment, int flag)
{
int was_ok= 1, ret, isolinux_grub= 0, count;
int was_ok= 1, ret, isolinux_grub= 0, count, bin_count;
unsigned int u;
char *formpt, *treatpt, *eff_path= NULL;
uint8_t sn[8];
double num;
Xorriso_alloc_meM(eff_path, char, SfileadrL);
@ -996,6 +997,21 @@ treatment_patch:;
{ret= 0; goto ex;}
}
} else if(strncmp(treatpt, "hfsplus_serial=", 15) == 0) {
ret= Hex_to_bin(treatpt + 15, 8, &bin_count, (unsigned char *) sn, 0);
if(ret <= 0 || bin_count != 8) {
sprintf(xorriso->info_text,
"boot_image %s : Malformed hfsplus_serial : %s",
formpt, treatpt + 15);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
Xorriso_msgs_submit(xorriso, 0,
"Expected is a string of 16 hex digits [0-9a-fA-F]",
0, "HINT", 0);
ret= 0; goto ex;
} else {
memcpy(xorriso->hfsp_serial_number, sn, 8);
}
} else if(strncmp(treatpt, "isohybrid=", 10) == 0 &&
strcmp(formpt, "isolinux")==0) {