On Mon, 09 Nov 2009 01:47:40 +0100 (CET), Alexander Best <[email protected]> wrote: > any thoughts on these small changes to burncd? > > Index: usr.sbin/burncd/burncd.c > =================================================================== > --- usr.sbin/burncd/burncd.c (revision 199064) > +++ usr.sbin/burncd/burncd.c (working copy) > @@ -78,13 +78,16 @@ > { > int arg, addr, ch, fd; > 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 nogap = 0, speed = 0, test_write = 0, force = 0; > int block_size = 0, block_type = 0, cdopen = 0, dvdrw = 0; > const char *dev; > > if ((dev = getenv("CDROM")) == NULL) > dev = "/dev/acd0"; > > + if ((speed = getenv("SPEED")) == NULL) > + speed = 4 * 177; > + > while ((ch = getopt(argc, argv, "def:Flmnpqs:tv")) != -1) { > switch (ch) { > case 'd':
Hi Alexander,
The idea seems very good, but since the value of SPEED is user supplied
data, I would rather see a bit of validation code after getenv(). With
this version of the patch, burncd would happily accept and try to use
values that are quite absurd, i.e.:
env SPEED=12234567890 burncd ...
It may also be sensible to do the translation from "human readable"
speed values and the multiplication with 177 _after_ the value has been
parsed from getenv(), so that e.g. one can write:
env SPEED=4 burncd
and get behavior similar to the current default.
pgpl1Dl1ze7nw.pgp
Description: PGP signature

