New boot_image boot specs partition_offset, partition_hd_cyl, partition_sec_hd
This commit is contained in:
@ -791,6 +791,40 @@ treatment_patch:;
|
||||
} else
|
||||
was_ok= 0;
|
||||
|
||||
} else if(strncmp(treatpt, "partition_offset=", 17)==0) {
|
||||
u= 0;
|
||||
sscanf(treatpt + 17, "%u", &u);
|
||||
if(u > 0 && u < 16) {
|
||||
sprintf(xorriso->info_text,
|
||||
"-boot_image %s partition_offset= : Non-zero number too small (<16).",
|
||||
formpt);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
xorriso->partition_offset= u;
|
||||
|
||||
} else if(strncmp(treatpt, "partition_hd_cyl=", 17)==0) {
|
||||
u= 0;
|
||||
sscanf(treatpt + 17, "%u", &u);
|
||||
if(u > 255) {
|
||||
sprintf(xorriso->info_text,
|
||||
"-boot_image %s partition_hd_cyl= : Number too large (>255).", formpt);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
xorriso->partition_heads_per_cyl= u;
|
||||
|
||||
} else if(strncmp(treatpt, "partition_sec_hd=", 17)==0) {
|
||||
u= 0;
|
||||
sscanf(treatpt + 17, "%u", &u);
|
||||
if(u > 63) {
|
||||
sprintf(xorriso->info_text,
|
||||
"-boot_image %s partition_sec_hd= : Number too large (>63).", formpt);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
xorriso->partition_secs_per_head= u;
|
||||
|
||||
} else if(strncmp(treatpt, "platform_id=", 12)==0) {
|
||||
if(strncmp(treatpt + 12, "0x", 2) == 0)
|
||||
sscanf(treatpt + 14, "%x", &u);
|
||||
|
Reference in New Issue
Block a user