diff --git a/src/burn_wrap.c b/src/burn_wrap.c index 223f3eed..5bbb05b5 100644 --- a/src/burn_wrap.c +++ b/src/burn_wrap.c @@ -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) { - int ret, multi= 1; + int ret; struct isoburn *o; 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; 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) { o->wrote_well= -1; if(o->emulation_mode!=0) { - multi= 0; + burn_write_opts_set_multi(opts, 0); if(o->emulation_mode>0 && o->nwa >= 0) 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); if (write_type == BURN_WRITE_NONE) { - fprintf(stderr, "Failed to find a suitable write mode:\n%s\n", reasons); - o->wrote_well= 0; + sprintf(msg, "Failed to find a suitable write mode:\n%s", reasons); + 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; } @@ -430,7 +429,7 @@ int isoburn_drive_wrote_well(struct burn_drive *d) ret= isoburn_find_emulator(&o, d, 0); if(ret<0) return(-1); - if(ret>0) + if(o!=NULL) if(o->wrote_well>=0) return(o->wrote_well); ret= burn_drive_wrote_well(d); diff --git a/test/xorriso_timestamp.h b/test/xorriso_timestamp.h index 100f63ea..bd4725ba 100644 --- a/test/xorriso_timestamp.h +++ b/test/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2007.10.19.204155" +#define Xorriso_timestamP "2007.10.20.170731"