123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- diff -up cdrkit-1.1.11/wodim/drv_mmc.c.format cdrkit-1.1.11/wodim/drv_mmc.c
- --- cdrkit-1.1.11/wodim/drv_mmc.c.format 2011-05-18 16:49:14.591822130 +0200
- +++ cdrkit-1.1.11/wodim/drv_mmc.c 2011-05-18 16:49:14.596822130 +0200
- @@ -1507,6 +1507,11 @@ getdisktype_mdvd(SCSI *usalp, cdr_t *dp)
- dstat_t *dsp = dp->cdr_dstat;
-
- struct track_info track_info;
- +
- + extern char *buf;
- + struct disk_info *dip;
- + int profile;
- +
- if(lverbose)
- printf("HINT: use dvd+rw-mediainfo from dvd+rw-tools for information extraction.\n");
- /* if(getdisktype_mmc(usalp, dp)<0)
- @@ -1521,6 +1526,18 @@ getdisktype_mdvd(SCSI *usalp, cdr_t *dp)
- dsp->ds_disktype&= ~DT_CD;
- dsp->ds_disktype|= DT_DVD;
-
- + profile = get_curprofile(usalp);
- + if (profile == 0x1A) {
- + dip = (struct disk_info *)buf;
- + if (get_diskinfo(usalp, dip) < 0)
- + return (-1);
- + if (dip->disk_status == DS_EMPTY) { /* Unformatted */
- + dsp->ds_flags |= DSF_NEED_FORMAT;
- + if(lverbose)
- + printf("The medium is empty, it will be auto formatted.\n");
- + }
- + }
- +
- return (ret);
-
- }
- diff -up cdrkit-1.1.11/wodim/scsi_cdr.c.format cdrkit-1.1.11/wodim/scsi_cdr.c
- --- cdrkit-1.1.11/wodim/scsi_cdr.c.format 2011-05-18 16:49:14.601822130 +0200
- +++ cdrkit-1.1.11/wodim/scsi_cdr.c 2011-05-18 16:49:14.600822130 +0200
- @@ -1328,7 +1328,7 @@ scsi_format(SCSI *usalp, caddr_t addr, i
- }
- sleep(10);
- printf("\rFormating in progress: 100.00 %% done. \n");
- - if (pid) exit (0);
- + if (pid > 0) exit (0);
- return ret;
- }
-
- diff -up cdrkit-1.1.11/wodim/wodim.c.format cdrkit-1.1.11/wodim/wodim.c
- --- cdrkit-1.1.11/wodim/wodim.c.format 2011-05-18 16:49:14.584822130 +0200
- +++ cdrkit-1.1.11/wodim/wodim.c 2011-05-18 17:21:59.510821630 +0200
- @@ -946,6 +946,40 @@ int main(int argc, char *argv[])
- print_toc(usalp, dp);
- comexit(0);
- }
- +
- + if ((flags & F_FORMAT) || (dp->cdr_dstat->ds_flags & DSF_NEED_FORMAT)) {
- + printf("wodim: media format asked\n");
- + /*
- + * Do not abort if OPC failes. Just give it a chance
- + * for better laser power calibration than without OPC.
- + *
- + * Ricoh drives return with a vendor unique sense code.
- + * This is most likely because they refuse to do OPC
- + * on a non blank media.
- + */
- + usalp->silent++;
- + do_opc(usalp, dp, flags);
- + usalp->silent--;
- + wait_unit_ready(usalp, 120);
- + if (gettimeofday(&starttime, (struct timezone *)0) < 0)
- + errmsg("Cannot get start time\n");
- +
- + if ((*dp->cdr_format)(usalp, dp, formattype) < 0) {
- + errmsgno(EX_BAD, "Cannot format disk, aborting.\n");
- + comexit(EX_BAD);
- + }
- + if (gettimeofday(&fixtime, (struct timezone *)0) < 0)
- + errmsg("Cannot get format time\n");
- + if (lverbose)
- + prtimediff("Formatting time: ", &starttime, &fixtime);
- +
- + if (!wait_unit_ready(usalp, 240) || tracks == 0) {
- + comexit(0);
- + }
- + if (gettimeofday(&starttime, (struct timezone *)0) < 0)
- + errmsg("Cannot get start time\n");
- + }
- +
- #ifdef XXX
- if ((*dp->cdr_check_session)() < 0) {
- comexit(EX_BAD);
- @@ -1230,38 +1264,6 @@ int main(int argc, char *argv[])
- comexit(0);
- }
- }
- - if (flags & F_FORMAT) {
- - printf("wodim: media format asked\n");
- - /*
- - * Do not abort if OPC failes. Just give it a chance
- - * for better laser power calibration than without OPC.
- - *
- - * Ricoh drives return with a vendor unique sense code.
- - * This is most likely because they refuse to do OPC
- - * on a non blank media.
- - */
- - usalp->silent++;
- - do_opc(usalp, dp, flags);
- - usalp->silent--;
- - wait_unit_ready(usalp, 120);
- - if (gettimeofday(&starttime, (struct timezone *)0) < 0)
- - errmsg("Cannot get start time\n");
- -
- - if ((*dp->cdr_format)(usalp, dp, formattype) < 0) {
- - errmsgno(EX_BAD, "Cannot format disk, aborting.\n");
- - comexit(EX_BAD);
- - }
- - if (gettimeofday(&fixtime, (struct timezone *)0) < 0)
- - errmsg("Cannot get format time\n");
- - if (lverbose)
- - prtimediff("Formatting time: ", &starttime, &fixtime);
- -
- - if (!wait_unit_ready(usalp, 240) || tracks == 0) {
- - comexit(0);
- - }
- - if (gettimeofday(&starttime, (struct timezone *)0) < 0)
- - errmsg("Cannot get start time\n");
- - }
- /*
- * Reset start time so we will not see blanking time and
- * writing time counted together.
|