version 1.59, 2008/06/06 10:16:52 |
version 1.60, 2008/06/08 21:40:58 |
|
|
u_int blklen; |
u_int blklen; |
u_int ntracks = 0; |
u_int ntracks = 0; |
char type; |
char type; |
|
int cap; |
|
|
cdname = getenv("DISC"); |
cdname = getenv("DISC"); |
if (!cdname) |
if (!cdname) |
|
|
} |
} |
if (!open_cd(cdname, 1)) |
if (!open_cd(cdname, 1)) |
exit(1); |
exit(1); |
|
|
|
if (get_media_capabilities(&cap) == -1) |
|
errx(1, "Can't determine media type"); |
|
if ((cap & MEDIACAP_TAO) == 0) |
|
errx(1, "The media can't be written in TAO mode"); |
|
|
get_disc_size(&availblk); |
get_disc_size(&availblk); |
SLIST_FOREACH(tr, &tracks, track_list) { |
SLIST_FOREACH(tr, &tracks, track_list) { |
needblk += tr->sz/tr->blklen; |
needblk += tr->sz/tr->blklen; |
|
|
int |
int |
run(int cmd, char *arg) |
run(int cmd, char *arg) |
{ |
{ |
int l, r, rc; |
int l, r, rc, cap; |
static char newcdname[MAXPATHLEN]; |
static char newcdname[MAXPATHLEN]; |
|
|
switch (cmd) { |
switch (cmd) { |
|
|
case CMD_BLANK: |
case CMD_BLANK: |
if (!open_cd(cdname, 1)) |
if (!open_cd(cdname, 1)) |
return 0; |
return 0; |
|
|
|
if (get_media_capabilities(&cap) == -1) { |
|
warnx("Can't determine media type"); |
|
return (0); |
|
} |
|
if ((cap & MEDIACAP_CDRW_WRITE) == 0) { |
|
warnx("The media doesn't support blanking"); |
|
return (0); |
|
} |
|
|
return blank(); |
return blank(); |
case CMD_CDRIP: |
case CMD_CDRIP: |