diff options
author | delphij <delphij@FreeBSD.org> | 2009-12-21 19:27:52 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2009-12-21 19:27:52 +0000 |
commit | fdf85ee3e500bc4c682b7a6c7fc0126cd005406e (patch) | |
tree | e47a6d6e5f14d4540d4a8d8575c0e40b7c2cabef /usr.sbin | |
parent | 10746e90df819a24ca4124a5bdb2d7b6f20cfcc9 (diff) | |
download | FreeBSD-src-fdf85ee3e500bc4c682b7a6c7fc0126cd005406e.zip FreeBSD-src-fdf85ee3e500bc4c682b7a6c7fc0126cd005406e.tar.gz |
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
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/burncd/burncd.8 | 8 | ||||
-rw-r--r-- | usr.sbin/burncd/burncd.c | 20 |
2 files changed, 19 insertions, 9 deletions
diff --git a/usr.sbin/burncd/burncd.8 b/usr.sbin/burncd/burncd.8 index 18c1bc4..2501e72 100644 --- a/usr.sbin/burncd/burncd.8 +++ b/usr.sbin/burncd/burncd.8 @@ -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 diff --git a/usr.sbin/burncd/burncd.c b/usr.sbin/burncd/burncd.c index c4d1648..2931cf8 100644 --- a/usr.sbin/burncd/burncd.c +++ b/usr.sbin/burncd/burncd.c @@ -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(); |