INCOMPATIBLE API CHANGE: isoburn_prepare_new_image() now gets output drive

This commit is contained in:
2008-01-26 17:12:47 +00:00
parent 10f46f4536
commit 76ed06fe60
5 changed files with 48 additions and 9 deletions

View File

@ -379,9 +379,33 @@ int isoburn_prepare_disc(struct burn_drive *d, struct burn_disc **disc,
}
int isoburn_prepare_new_image(struct burn_drive *d, struct burn_disc **disc,
struct isoburn_source_opts *opts)
struct isoburn_source_opts *opts,
struct burn_drive *out_drive)
{
return isoburn_prepare_disc_aux(d, disc, opts, 1);
int ret;
struct isoburn *in_o, *out_o;
ret= isoburn_prepare_disc_aux(d, disc, opts, 1);
if (ret<=0)
return ret;
#ifdef Libisoburn_no_fifO
/* Hand over source reference for optional fifo status inquiry */
if(out_drive==NULL)
return 1;
ret= isoburn_find_emulator(&out_o, out_drive, 0);
if(ret<0 || out_o==NULL)
return 1;
ret= isoburn_find_emulator(&in_o, d, 0);
if(ret<0 || in_o==NULL)
return 1; /* then without fifo status inquiry */
if(out_o->iso_source!=NULL)
burn_source_free(out_o->iso_source);
out_o->iso_source= in_o->iso_source;
in_o->iso_source= NULL;
#endif /* Libisoburn_no_fifO */
return 1;
}