Made use of new libisofs call iso_image_update_sizes()

This commit is contained in:
2008-09-08 09:48:43 +00:00
parent 7f40fbce00
commit 5f3f860800
3 changed files with 48 additions and 4 deletions

View File

@ -841,7 +841,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
struct burn_session **sessions;
struct burn_track **tracks;
enum burn_disc_status s;
IsoImage *image = NULL;
IsoImage *image= NULL;
ElToritoBootImage *bootimg;
ret= Xorriso_get_drive_handles(xorriso, &dinfo, &drive,
@ -897,8 +897,10 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
}
ret= isoburn_igopt_new(&sopts, 0);
if(ret<=0)
if(ret<=0) {
Xorriso_process_msg_queues(xorriso, 0);
return(ret);
}
relax= isoburn_igopt_allow_deep_paths;
/* Adjust or discard boot image */
@ -969,6 +971,20 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
ret= Xorriso_eval_problem_status(xorriso, 1, 0);
if(ret<0)
{ret= 0; goto ex;}
/* >>> omit iso_image_update_sizes if the image was filled up very quickly */;
ret= iso_image_update_sizes(image);
if(ret < 0) {
Xorriso_process_msg_queues(xorriso, 0);
ret= Xorriso_eval_problem_status(xorriso, 1, 0);
if(ret<0)
{ret= 0; goto ex;}
}
Xorriso_set_abort_severity(xorriso, 1);
if (xorriso->grow_blindly_msc2 >= 0 &&
xorriso->out_drive_handle != xorriso->in_drive_handle) {
@ -5858,7 +5874,7 @@ int Xorriso_findi_test(struct XorrisO *xorriso, struct FindjoB *job,
struct stat *boss_stbuf, struct stat *stbuf,
int depth, int flag)
{
int ret, start_lba, end_lba, damage_filter;
int ret, start_lba, end_lba, damage_filter, commit_filter, lba;
off_t damage_start, damage_end, size;
int lba_count, *file_end_lbas= NULL, *file_start_lbas= NULL, i;
@ -5886,6 +5902,14 @@ int Xorriso_findi_test(struct XorrisO *xorriso, struct FindjoB *job,
{ret= 0; goto ex;}
}
}
Findjob_get_commit_filter(job, &commit_filter, 0);
if(commit_filter & 1) { /* -pending_data */
if(!LIBISO_ISREG(node))
{ret= 0; goto ex;}
ret= Xorriso__file_start_lba(node, &lba, 0);
if(ret > 0 && lba >= 0)
{ret= 0; goto ex;}
}
ret= 1;
ex:;
if(file_start_lbas != NULL)