Directed write mode failure message to libburn queue, repaired wrote_well
This commit is contained in:
parent
ca14b09852
commit
4c7bf645c2
@ -286,10 +286,10 @@ int isoburn_disc_track_lba_nwa(struct burn_drive *d,
|
|||||||
|
|
||||||
void isoburn_disc_write(struct burn_write_opts *opts, struct burn_disc *disc)
|
void isoburn_disc_write(struct burn_write_opts *opts, struct burn_disc *disc)
|
||||||
{
|
{
|
||||||
int ret, multi= 1;
|
int ret;
|
||||||
struct isoburn *o;
|
struct isoburn *o;
|
||||||
struct burn_drive *drive;
|
struct burn_drive *drive;
|
||||||
char reasons[BURN_REASONS_LEN];
|
char reasons[BURN_REASONS_LEN],msg[160+BURN_REASONS_LEN];
|
||||||
enum burn_write_types write_type;
|
enum burn_write_types write_type;
|
||||||
|
|
||||||
drive= burn_write_opts_get_drive(opts);
|
drive= burn_write_opts_get_drive(opts);
|
||||||
@ -299,21 +299,20 @@ void isoburn_disc_write(struct burn_write_opts *opts, struct burn_disc *disc)
|
|||||||
if(o!=NULL) {
|
if(o!=NULL) {
|
||||||
o->wrote_well= -1;
|
o->wrote_well= -1;
|
||||||
if(o->emulation_mode!=0) {
|
if(o->emulation_mode!=0) {
|
||||||
multi= 0;
|
burn_write_opts_set_multi(opts, 0);
|
||||||
if(o->emulation_mode>0 && o->nwa >= 0)
|
if(o->emulation_mode>0 && o->nwa >= 0)
|
||||||
burn_write_opts_set_start_byte(opts, ((off_t) o->nwa) * (off_t) 2048);
|
burn_write_opts_set_start_byte(opts, ((off_t) o->nwa) * (off_t) 2048);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fprintf(stderr, "isoburn_EXPERIMENTAL: multi = %d\n", multi); */
|
|
||||||
/* burn_write_opts_set_simulate(opts, 1); */
|
|
||||||
|
|
||||||
burn_write_opts_set_multi(opts, multi);
|
|
||||||
|
|
||||||
write_type= burn_write_opts_auto_write_type(opts, disc, reasons, 0);
|
write_type= burn_write_opts_auto_write_type(opts, disc, reasons, 0);
|
||||||
if (write_type == BURN_WRITE_NONE) {
|
if (write_type == BURN_WRITE_NONE) {
|
||||||
fprintf(stderr, "Failed to find a suitable write mode:\n%s\n", reasons);
|
sprintf(msg, "Failed to find a suitable write mode:\n%s", reasons);
|
||||||
o->wrote_well= 0;
|
burn_msgs_submit(0, msg, 0, "SORRY", NULL);
|
||||||
|
if(o!=NULL)
|
||||||
|
o->wrote_well= 0;
|
||||||
|
/* To cause a negative reply with burn_drive_wrote_well() */
|
||||||
|
burn_drive_cancel(drive);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -430,7 +429,7 @@ int isoburn_drive_wrote_well(struct burn_drive *d)
|
|||||||
ret= isoburn_find_emulator(&o, d, 0);
|
ret= isoburn_find_emulator(&o, d, 0);
|
||||||
if(ret<0)
|
if(ret<0)
|
||||||
return(-1);
|
return(-1);
|
||||||
if(ret>0)
|
if(o!=NULL)
|
||||||
if(o->wrote_well>=0)
|
if(o->wrote_well>=0)
|
||||||
return(o->wrote_well);
|
return(o->wrote_well);
|
||||||
ret= burn_drive_wrote_well(d);
|
ret= burn_drive_wrote_well(d);
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2007.10.19.204155"
|
#define Xorriso_timestamP "2007.10.20.170731"
|
||||||
|
Loading…
Reference in New Issue
Block a user