Add support of using environment variable BURNCD_SPEED to specify

recodring speed.

PR:		bin/140530
Submitted by:	Alexander Best <alexbestms wwu.de>
MFC after:	1 month
This commit is contained in:
Xin LI 2009-12-21 19:27:52 +00:00
parent f3ef893ad4
commit 18814e5069
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=200795
2 changed files with 19 additions and 9 deletions

View File

@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd May 2, 2005
.Dd December 21, 2009
.Os
.Dt BURNCD 8
.Sh NAME
@ -158,7 +158,11 @@ refers to stdin, and can only be used once.
.Sh ENVIRONMENT
The following environment variables affect the execution of
.Nm :
.Bl -tag -width ".Ev CDROM"
.Bl -tag -width ".Ev BURNCD_SPEED"
.It Ev BURNCD_SPEED
The write speed to use if one is not specified with the
.Fl s
flag.
.It Ev CDROM
The CD device to use if one is not specified with the
.Fl f

View File

@ -80,11 +80,13 @@ main(int argc, char **argv)
int dao = 0, eject = 0, fixate = 0, list = 0, multi = 0, preemp = 0;
int nogap = 0, speed = 4 * 177, test_write = 0, force = 0;
int block_size = 0, block_type = 0, cdopen = 0, dvdrw = 0;
const char *dev;
const char *dev, *env_speed;
if ((dev = getenv("CDROM")) == NULL)
dev = "/dev/acd0";
env_speed = getenv("BURNCD_SPEED");
while ((ch = getopt(argc, argv, "def:Flmnpqs:tv")) != -1) {
switch (ch) {
case 'd':
@ -124,12 +126,7 @@ main(int argc, char **argv)
break;
case 's':
if (strcasecmp("max", optarg) == 0)
speed = CDR_MAX_SPEED;
else
speed = atoi(optarg) * 177;
if (speed <= 0)
errx(EX_USAGE, "Invalid speed: %s", optarg);
env_speed = optarg;
break;
case 't':
@ -147,6 +144,15 @@ main(int argc, char **argv)
argc -= optind;
argv += optind;
if (env_speed == NULL)
;
else if (strcasecmp("max", env_speed) == 0)
speed = CDR_MAX_SPEED;
else
speed = atoi(env_speed) * 177;
if (speed <= 0)
errx(EX_USAGE, "Invalid speed: %s", optarg);
if (argc == 0)
usage();