Fixed minor problems with previous revision 3199

This commit is contained in:
Thomas Schmitt 2010-04-26 14:13:25 +00:00
parent 10ef2e346f
commit 121d40e38c
3 changed files with 12 additions and 11 deletions

View File

@ -11363,7 +11363,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
}
boot_opt_list= TSOB_FELD(int, argc + 1);
if(boot_opt_list == NULL) {
Xorriso_no_malloc_memory(xorriso, (char **) &weight_list, 0);
cpt= (char *) weight_list;
Xorriso_no_malloc_memory(xorriso, &cpt, 0);
return(-1);
}

View File

@ -1 +1 @@
#define Xorriso_timestamP "2010.04.26.121051"
#define Xorriso_timestamP "2010.04.26.141229"

View File

@ -1845,7 +1845,7 @@ int Xorriso_boot_item_status(struct XorrisO *xorriso, char *cat_path,
line= xorriso->result_line;
if(flag & 16) {
/* >>> BOOT: allow to concentrate boot options. */
/* Allow to concentrate boot options. */
memset(zeros, 0, 28);
if(memcmp(id_string, zeros, 28) == 0 &&
memcmp(selection_crit, zeros, 20) == 0)
@ -2244,7 +2244,7 @@ ex:;
*/
int Xorriso_write_session(struct XorrisO *xorriso, int flag)
{
int ret, relax= 0, i, pacifier_speed= 0, data_lba, ext;
int ret, relax= 0, i, pacifier_speed= 0, data_lba, ext, is_bootable= 0;
int major, minor, micro;
char xorriso_id[256], *img_id, sfe[5*SfileadrL], *out_cs;
struct isoburn_imgen_opts *sopts= NULL;
@ -2359,14 +2359,14 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
#ifdef Xorriso_multi_booT
if(image!=NULL && !(flag&1)) {
is_bootable= iso_image_get_boot_image(image, NULL, NULL, &bootcat_node);
if(xorriso->boot_image_bin_path[0]) {
ret= Xorriso_attach_boot_image(xorriso, xorriso->boot_count == 0);
if(ret <= 0)
goto ex;
/* Eventually rename boot catalog node to changed boot_image_cat_path */
ret= iso_image_get_boot_image(image, NULL, NULL, &bootcat_node);
if(ret > 0) {
if(is_bootable > 0) {
ret= Xorriso_path_from_node(xorriso, (IsoNode *) bootcat_node, sfe, 0);
if(ret > 0) {
if(strcmp(sfe, xorriso->boot_image_cat_path) != 0) {
@ -2404,10 +2404,10 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
}
/* >>> ??? move down to libisoburn ? */
if(image!=NULL && !(flag&1)) {
ret= iso_image_get_boot_image(image, &bootimg, NULL, NULL);
is_bootable= iso_image_get_boot_image(image, &bootimg, NULL, NULL);
if(boot_image_bin_path[0]) {
/* discard old boot image, set new one */
if(ret == 1)
if(is_bootable == 1)
iso_image_remove_boot_image(image);
if(boot_image_emul == 1)
emul_type= ELTORITO_HARD_DISC_EMUL;
@ -2560,7 +2560,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
#endif /* ! Xorriso_multi_booT */
} else if(xorriso->patch_isolinux_image) {
if(ret==1) {
if(is_bootable == 1) {
relax|= isoburn_igopt_allow_full_ascii;
sprintf(xorriso->info_text, "Patching boot info table");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
@ -2589,11 +2589,11 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
"Could not find any boot image for -boot_image patching");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0);
}
} else if(xorriso->keep_boot_image && ret==1) {
} else if(xorriso->keep_boot_image && is_bootable == 1) {
relax|= isoburn_igopt_allow_full_ascii;
sprintf(xorriso->info_text, "Keeping boot image unchanged");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
} else if(ret==1) {
} else if(is_bootable == 1) {
iso_image_remove_boot_image(image);
sprintf(xorriso->info_text, "Discarded boot image from old session");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);