]> git.pld-linux.org Git - packages/cdrkit.git/blob - cdrkit-1.1.11-format.patch
debian patch to fix build with gcc 10
[packages/cdrkit.git] / cdrkit-1.1.11-format.patch
1 diff -up cdrkit-1.1.11/wodim/drv_mmc.c.format cdrkit-1.1.11/wodim/drv_mmc.c
2 --- cdrkit-1.1.11/wodim/drv_mmc.c.format        2011-05-18 16:49:14.591822130 +0200
3 +++ cdrkit-1.1.11/wodim/drv_mmc.c       2011-05-18 16:49:14.596822130 +0200
4 @@ -1507,6 +1507,11 @@ getdisktype_mdvd(SCSI *usalp, cdr_t *dp)
5         dstat_t *dsp = dp->cdr_dstat;
6  
7         struct track_info track_info;
8 +
9 +       extern char *buf;
10 +       struct disk_info *dip;
11 +       int profile;
12 +
13      if(lverbose)
14          printf("HINT: use dvd+rw-mediainfo from dvd+rw-tools for information extraction.\n");
15         /* if(getdisktype_mmc(usalp, dp)<0)
16 @@ -1521,6 +1526,18 @@ getdisktype_mdvd(SCSI *usalp, cdr_t *dp)
17         dsp->ds_disktype&= ~DT_CD;
18         dsp->ds_disktype|= DT_DVD;
19  
20 +       profile = get_curprofile(usalp);
21 +       if (profile == 0x1A) {
22 +               dip = (struct disk_info *)buf;
23 +               if (get_diskinfo(usalp, dip) < 0)
24 +                       return (-1);
25 +               if (dip->disk_status == DS_EMPTY) {     /* Unformatted      */
26 +                       dsp->ds_flags |= DSF_NEED_FORMAT;
27 +                       if(lverbose)
28 +                               printf("The medium is empty, it will be auto formatted.\n");
29 +               }
30 +       }
31 +       
32         return (ret);
33  
34  }
35 diff -up cdrkit-1.1.11/wodim/scsi_cdr.c.format cdrkit-1.1.11/wodim/scsi_cdr.c
36 --- cdrkit-1.1.11/wodim/scsi_cdr.c.format       2011-05-18 16:49:14.601822130 +0200
37 +++ cdrkit-1.1.11/wodim/scsi_cdr.c      2011-05-18 16:49:14.600822130 +0200
38 @@ -1328,7 +1328,7 @@ scsi_format(SCSI *usalp, caddr_t addr, i
39         }
40         sleep(10);
41         printf("\rFormating in progress: 100.00 %% done.        \n");
42 -       if (pid) exit (0);
43 +       if (pid > 0) exit (0);
44         return ret;
45  }
46  
47 diff -up cdrkit-1.1.11/wodim/wodim.c.format cdrkit-1.1.11/wodim/wodim.c
48 --- cdrkit-1.1.11/wodim/wodim.c.format  2011-05-18 16:49:14.584822130 +0200
49 +++ cdrkit-1.1.11/wodim/wodim.c 2011-05-18 17:21:59.510821630 +0200
50 @@ -946,6 +946,40 @@ int main(int argc, char *argv[])
51                 print_toc(usalp, dp);
52                 comexit(0);
53         }
54 +       
55 +       if ((flags & F_FORMAT) || (dp->cdr_dstat->ds_flags & DSF_NEED_FORMAT)) {
56 +               printf("wodim: media format asked\n");
57 +               /*
58 +               * Do not abort if OPC failes. Just give it a chance
59 +               * for better laser power calibration than without OPC.
60 +               *
61 +               * Ricoh drives return with a vendor unique sense code.
62 +               * This is most likely because they refuse to do OPC
63 +               * on a non blank media.
64 +               */
65 +               usalp->silent++;
66 +               do_opc(usalp, dp, flags);
67 +               usalp->silent--;
68 +               wait_unit_ready(usalp, 120);
69 +               if (gettimeofday(&starttime, (struct timezone *)0) < 0)
70 +                       errmsg("Cannot get start time\n");
71 +               
72 +               if ((*dp->cdr_format)(usalp, dp, formattype) < 0) {
73 +                       errmsgno(EX_BAD, "Cannot format disk, aborting.\n");
74 +                       comexit(EX_BAD);
75 +               }
76 +               if (gettimeofday(&fixtime, (struct timezone *)0) < 0)
77 +                       errmsg("Cannot get format time\n");
78 +               if (lverbose)
79 +                       prtimediff("Formatting time: ", &starttime, &fixtime);
80 +
81 +               if (!wait_unit_ready(usalp, 240) || tracks == 0) {
82 +                       comexit(0);
83 +               }
84 +               if (gettimeofday(&starttime, (struct timezone *)0) < 0)
85 +                       errmsg("Cannot get start time\n");
86 +       }
87 +       
88  #ifdef XXX
89         if ((*dp->cdr_check_session)() < 0) {
90                 comexit(EX_BAD);
91 @@ -1230,38 +1264,6 @@ int main(int argc, char *argv[])
92                         comexit(0);
93                 }
94         }
95 -       if (flags & F_FORMAT) {
96 -               printf("wodim: media format asked\n");
97 -               /*
98 -               * Do not abort if OPC failes. Just give it a chance
99 -               * for better laser power calibration than without OPC.
100 -               *
101 -               * Ricoh drives return with a vendor unique sense code.
102 -               * This is most likely because they refuse to do OPC
103 -               * on a non blank media.
104 -               */
105 -               usalp->silent++;
106 -               do_opc(usalp, dp, flags);
107 -               usalp->silent--;
108 -               wait_unit_ready(usalp, 120);
109 -               if (gettimeofday(&starttime, (struct timezone *)0) < 0)
110 -                       errmsg("Cannot get start time\n");
111 -
112 -               if ((*dp->cdr_format)(usalp, dp, formattype) < 0) {
113 -                       errmsgno(EX_BAD, "Cannot format disk, aborting.\n");
114 -                       comexit(EX_BAD);
115 -               }
116 -               if (gettimeofday(&fixtime, (struct timezone *)0) < 0)
117 -                       errmsg("Cannot get format time\n");
118 -               if (lverbose)
119 -                       prtimediff("Formatting time: ", &starttime, &fixtime);
120 -
121 -               if (!wait_unit_ready(usalp, 240) || tracks == 0) {
122 -                       comexit(0);
123 -               }
124 -               if (gettimeofday(&starttime, (struct timezone *)0) < 0)
125 -                       errmsg("Cannot get start time\n");
126 -       }
127         /*
128         * Reset start time so we will not see blanking time and
129         * writing time counted together.
This page took 0.070385 seconds and 3 git commands to generate.