Took care of disposal of burn_disc ovbject

This commit is contained in:
2007-10-18 22:17:46 +00:00
parent a30704318f
commit 2c270d6153
3 changed files with 29 additions and 17 deletions

View File

@ -1 +1 @@
#define Xorriso_timestamP "2007.10.18.185731"
#define Xorriso_timestamP "2007.10.18.221756"

View File

@ -259,7 +259,7 @@ int Xorriso_write_growing(struct XorrisO *xorriso, int flag)
struct isoburn_source_opts sopts;
struct burn_drive_info *dinfo;
struct burn_drive *drive;
struct burn_disc *disc;
struct burn_disc *disc= NULL;
struct burn_write_opts *burn_options;
ret= Xorriso_get_drive_handles(xorriso, &dinfo, &drive,
@ -293,19 +293,19 @@ int Xorriso_write_growing(struct XorrisO *xorriso, int flag)
Xorriso_process_msg_queues(xorriso,0);
sprintf(xorriso->info_text,"Cannot prepare disc");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
return(0);
{ret= 0; goto ex;}
}
ret= Xorriso_make_write_options(xorriso, drive, &burn_options, 0);
if(ret<=0)
return(ret);
goto ex;
isoburn_disc_write(burn_options, disc);
burn_write_opts_free(burn_options);
ret= Xorriso_pacifier_loop(xorriso, drive, 0);
if(ret<=0)
return(ret);
goto ex;
ret= isoburn_activate_session(drive);
Xorriso_process_msg_queues(xorriso,0);
@ -313,13 +313,15 @@ int Xorriso_write_growing(struct XorrisO *xorriso, int flag)
sprintf(xorriso->info_text,
"Could not write new set of volume descriptors");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FATAL", 0);
return(ret);
goto ex;
}
/* >>> cleanup disc ? */
ret= 1;
ex:;
if(disc!=NULL)
burn_disc_free(disc);
Xorriso_process_msg_queues(xorriso,0);
return(1);
return(ret);
}