Gabor Kovesdan schrieb am 2009-11-09: > Gabor Kovesdan escribió: > >Alexander Best escribió: > >>any thoughts on these small changes to burncd? > >> - 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; > >>+ > >It seems incorrect. The speed variable is of type int, while getenv > >returns char *. You should first assign getenv("SPEED") to a char * > >variable and if it isn't NULL then you should convert it to int or > >fall back to the default value otherwise. > And one more thing. Personally, I think that a more > specific/descriptive name would be better, e.g. BURNCD_SPEED. SPEED > is just too general.
> -- > Gabor Kovesdan > FreeBSD Volunteer > EMAIL: ga...@freebsd.org .:|:. ga...@kovesdan.org > WEB: http://people.FreeBSD.org/~gabor .:|:. http://kovesdan.org thanks for the help. how about this revised patch? cheers. alex
Index: usr.sbin/burncd/burncd.8 =================================================================== --- usr.sbin/burncd/burncd.8 (revision 199064) +++ usr.sbin/burncd/burncd.8 (working copy) @@ -164,6 +164,12 @@ .Fl f flag. .El +.Bl -tag -width ".Ev WRITE_SPEED" +.It Ev WRITE_SPEED +The write speed to use if one is not specified with the +.Fl s +flag. +.El .Sh FILES .Bl -tag -width ".Pa /dev/acd0" .It Pa /dev/acd0 Index: usr.sbin/burncd/burncd.c =================================================================== --- usr.sbin/burncd/burncd.c (revision 199064) +++ usr.sbin/burncd/burncd.c (working copy) @@ -80,11 +80,20 @@ 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"; + if ((env_speed = getenv("WRITE_SPEED")) != NULL) + if (strcasecmp("max", getenv) == 0) + speed = CDR_MAX_SPEED; + else + speed = atoi(env_speed) * 177; + if (speed <= 0) + errx(EX_USAGE, "Invalid speed: %s", env_speed); + } + while ((ch = getopt(argc, argv, "def:Flmnpqs:tv")) != -1) { switch (ch) { case 'd':
_______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"