On Mon, 09 Nov 2009 01:47:40 +0100 (CET), Alexander Best 
<alexbes...@math.uni-muenster.de> 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.

Attachment: pgpl1Dl1ze7nw.pgp
Description: PGP signature

Reply via email to