New boot_image boot specs partition_offset, partition_hd_cyl, partition_sec_hd

This commit is contained in:
2010-09-05 11:37:45 +00:00
parent 687f5b8658
commit 3051cc81d3
9 changed files with 183 additions and 39 deletions

View File

@ -512,7 +512,7 @@ int Xorriso_write_to_channel(struct XorrisO *xorriso,
bit15= with bit1 or bit2: close depicted log file
*/
{
char *rpt, *npt, *text;
char *rpt, *npt, *text= NULL;
int ret= 1, info_redirected= 0, result_redirected= 0;
char prefix[16];
FILE *logfile_fp, *pktlog_fp;
@ -520,11 +520,11 @@ bit15= with bit1 or bit2: close depicted log file
static int num_channels= 4;
static char channel_prefixes[4][4]= {".","R","I","M"};
text= in_text; /* might change due to backslash encoding */
if(channel_no<0 || channel_no>=num_channels)
{ret= -1; goto ex;}
text= in_text; /* might change due to backslash encoding */
/* Logfiles */
logfile_fp= xorriso->logfile_fp[channel_no];
pktlog_fp= xorriso->pktlog_fp;
@ -1278,7 +1278,25 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
Text_shellsafe(xorriso->system_area_disk_path, sfe, 0));
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
if(xorriso->system_area_disk_path[0] || !part_table_implicit) {
is_default= (xorriso->partition_offset == 0);
sprintf(line,"-boot_image any partition_offset=%lu\n",
(unsigned long int) xorriso->partition_offset);
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (xorriso->partition_secs_per_head == 0);
sprintf(line,"-boot_image any partition_sec_hd=%lu\n",
(unsigned long int) xorriso->partition_secs_per_head);
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
is_default= (xorriso->partition_heads_per_cyl == 0);
sprintf(line,"-boot_image any partition_hd_cyl=%lu\n",
(unsigned long int) xorriso->partition_heads_per_cyl);
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
if((xorriso->system_area_disk_path[0] || !part_table_implicit) &&
(xorriso->partition_offset == 0 || (xorriso->system_area_options & 2))) {
is_default= ((xorriso->system_area_options & 3) == 0);
sprintf(line,"-boot_image %s partition_table=%s\n",
xorriso->system_area_options & 2 ? "isolinux" : "grub",