Fixed minor problems with previous revision 3199
This commit is contained in:
parent
447ab7fe96
commit
37ca34038e
@ -11363,7 +11363,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
|||||||
}
|
}
|
||||||
boot_opt_list= TSOB_FELD(int, argc + 1);
|
boot_opt_list= TSOB_FELD(int, argc + 1);
|
||||||
if(boot_opt_list == NULL) {
|
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);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2010.04.26.121051"
|
#define Xorriso_timestamP "2010.04.26.141229"
|
||||||
|
@ -1845,7 +1845,7 @@ int Xorriso_boot_item_status(struct XorrisO *xorriso, char *cat_path,
|
|||||||
line= xorriso->result_line;
|
line= xorriso->result_line;
|
||||||
|
|
||||||
if(flag & 16) {
|
if(flag & 16) {
|
||||||
/* >>> BOOT: allow to concentrate boot options. */
|
/* Allow to concentrate boot options. */
|
||||||
memset(zeros, 0, 28);
|
memset(zeros, 0, 28);
|
||||||
if(memcmp(id_string, zeros, 28) == 0 &&
|
if(memcmp(id_string, zeros, 28) == 0 &&
|
||||||
memcmp(selection_crit, zeros, 20) == 0)
|
memcmp(selection_crit, zeros, 20) == 0)
|
||||||
@ -2244,7 +2244,7 @@ ex:;
|
|||||||
*/
|
*/
|
||||||
int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
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;
|
int major, minor, micro;
|
||||||
char xorriso_id[256], *img_id, sfe[5*SfileadrL], *out_cs;
|
char xorriso_id[256], *img_id, sfe[5*SfileadrL], *out_cs;
|
||||||
struct isoburn_imgen_opts *sopts= NULL;
|
struct isoburn_imgen_opts *sopts= NULL;
|
||||||
@ -2359,14 +2359,14 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
|||||||
#ifdef Xorriso_multi_booT
|
#ifdef Xorriso_multi_booT
|
||||||
|
|
||||||
if(image!=NULL && !(flag&1)) {
|
if(image!=NULL && !(flag&1)) {
|
||||||
|
is_bootable= iso_image_get_boot_image(image, NULL, NULL, &bootcat_node);
|
||||||
if(xorriso->boot_image_bin_path[0]) {
|
if(xorriso->boot_image_bin_path[0]) {
|
||||||
ret= Xorriso_attach_boot_image(xorriso, xorriso->boot_count == 0);
|
ret= Xorriso_attach_boot_image(xorriso, xorriso->boot_count == 0);
|
||||||
if(ret <= 0)
|
if(ret <= 0)
|
||||||
goto ex;
|
goto ex;
|
||||||
|
|
||||||
/* Eventually rename boot catalog node to changed boot_image_cat_path */
|
/* Eventually rename boot catalog node to changed boot_image_cat_path */
|
||||||
ret= iso_image_get_boot_image(image, NULL, NULL, &bootcat_node);
|
if(is_bootable > 0) {
|
||||||
if(ret > 0) {
|
|
||||||
ret= Xorriso_path_from_node(xorriso, (IsoNode *) bootcat_node, sfe, 0);
|
ret= Xorriso_path_from_node(xorriso, (IsoNode *) bootcat_node, sfe, 0);
|
||||||
if(ret > 0) {
|
if(ret > 0) {
|
||||||
if(strcmp(sfe, xorriso->boot_image_cat_path) != 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 ? */
|
/* >>> ??? move down to libisoburn ? */
|
||||||
if(image!=NULL && !(flag&1)) {
|
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]) {
|
if(boot_image_bin_path[0]) {
|
||||||
/* discard old boot image, set new one */
|
/* discard old boot image, set new one */
|
||||||
if(ret == 1)
|
if(is_bootable == 1)
|
||||||
iso_image_remove_boot_image(image);
|
iso_image_remove_boot_image(image);
|
||||||
if(boot_image_emul == 1)
|
if(boot_image_emul == 1)
|
||||||
emul_type= ELTORITO_HARD_DISC_EMUL;
|
emul_type= ELTORITO_HARD_DISC_EMUL;
|
||||||
@ -2560,7 +2560,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
|||||||
#endif /* ! Xorriso_multi_booT */
|
#endif /* ! Xorriso_multi_booT */
|
||||||
|
|
||||||
} else if(xorriso->patch_isolinux_image) {
|
} else if(xorriso->patch_isolinux_image) {
|
||||||
if(ret==1) {
|
if(is_bootable == 1) {
|
||||||
relax|= isoburn_igopt_allow_full_ascii;
|
relax|= isoburn_igopt_allow_full_ascii;
|
||||||
sprintf(xorriso->info_text, "Patching boot info table");
|
sprintf(xorriso->info_text, "Patching boot info table");
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
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");
|
"Could not find any boot image for -boot_image patching");
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0);
|
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;
|
relax|= isoburn_igopt_allow_full_ascii;
|
||||||
sprintf(xorriso->info_text, "Keeping boot image unchanged");
|
sprintf(xorriso->info_text, "Keeping boot image unchanged");
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
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);
|
iso_image_remove_boot_image(image);
|
||||||
sprintf(xorriso->info_text, "Discarded boot image from old session");
|
sprintf(xorriso->info_text, "Discarded boot image from old session");
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user