New option -append_partition, -as mkisofs -append_partition

This commit is contained in:
2010-10-18 21:22:23 +00:00
parent ac7374f858
commit 3657f55f96
13 changed files with 322 additions and 79 deletions

View File

@ -455,6 +455,10 @@ int Xorriso_boot_item_status(struct XorrisO *xorriso, char *cat_path,
}
/*
bit0= do only report non-default settings
bit1= do only report to fp
*/
int Xorriso_boot_status_mips(struct XorrisO *xorriso, IsoImage *image,
char *filter, FILE *fp, int flag)
{
@ -480,6 +484,28 @@ int Xorriso_boot_status_mips(struct XorrisO *xorriso, IsoImage *image,
}
/*
bit0= do only report non-default settings
bit1= do only report to fp
*/
int Xorriso_append_part_status(struct XorrisO *xorriso, IsoImage *image,
char *filter, FILE *fp, int flag)
{
int i;
for(i= 0; i < 4; i++) {
if(xorriso->appended_partitions[i][0] == 0)
continue;
sprintf(xorriso->result_line, "-append_partition %d 0x%2.2x ",
i + 1, (unsigned int) xorriso->appended_part_types[i]);
Text_shellsafe(xorriso->appended_partitions[i], xorriso->result_line, 1);
strcat(xorriso->result_line, "\n");
Xorriso_status_result(xorriso, filter, fp, flag & 2);
}
return(1);
}
/*
bit0= do only report non-default settings
bit1= do only report to fp
@ -511,7 +537,7 @@ int Xorriso_boot_image_status(struct XorrisO *xorriso, char *filter, FILE *fp,
if(image == NULL)
goto no_image;
ret= Xorriso_boot_status_mips(xorriso, image, filter, fp, 0);
ret= Xorriso_boot_status_mips(xorriso, image, filter, fp, flag & 3);
if(ret < 0) /* == 0 is normal */
{ret= 0; goto ex;}
@ -530,7 +556,7 @@ no_image:;
}
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
ret= 1; goto ex;
ret= 1; goto after_el_torito;
}
@ -620,6 +646,11 @@ no_image:;
if(ret <= 0)
goto ex;
after_el_torito:;
ret = Xorriso_append_part_status(xorriso, image, filter, fp, flag & 3);
if(ret <= 0)
goto ex;
ret= 1;
ex:
if(boots != NULL)