svn commit: r200795 - head/usr.sbin/burncd

Xin LI delphij at FreeBSD.org
Mon Dec 21 19:27:53 UTC 2009


Author: delphij
Date: Mon Dec 21 19:27:52 2009
New Revision: 200795
URL: http://svn.freebsd.org/changeset/base/200795

Log:
  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

Modified:
  head/usr.sbin/burncd/burncd.8
  head/usr.sbin/burncd/burncd.c

Modified: head/usr.sbin/burncd/burncd.8
==============================================================================
--- head/usr.sbin/burncd/burncd.8	Mon Dec 21 19:18:27 2009	(r200794)
+++ head/usr.sbin/burncd/burncd.8	Mon Dec 21 19:27:52 2009	(r200795)
@@ -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 on
 .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

Modified: head/usr.sbin/burncd/burncd.c
==============================================================================
--- head/usr.sbin/burncd/burncd.c	Mon Dec 21 19:18:27 2009	(r200794)
+++ head/usr.sbin/burncd/burncd.c	Mon Dec 21 19:27:52 2009	(r200795)
@@ -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();
 


More information about the svn-src-head mailing list