From nobody@FreeBSD.org  Fri Nov 13 14:40:15 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id BB95F106566C
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 13 Nov 2009 14:40:15 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 9011F8FC32
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 13 Nov 2009 14:40:15 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id nADEeEOE004595
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 13 Nov 2009 14:40:14 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id nADEeEDv004586;
	Fri, 13 Nov 2009 14:40:14 GMT
	(envelope-from nobody)
Message-Id: <200911131440.nADEeEDv004586@www.freebsd.org>
Date: Fri, 13 Nov 2009 14:40:14 GMT
From: Alexander Best <alexbestms@wwu.de>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [patch] make burncd(8) honour envar BURNCD_SPEED
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         140530
>Category:       bin
>Synopsis:       [patch] make burncd(8) honour envar BURNCD_SPEED
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    delphij
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 13 14:50:01 UTC 2009
>Closed-Date:    Wed Jan 20 00:47:43 UTC 2010
>Last-Modified:  Wed Jan 20 01:00:17 UTC 2010
>Originator:     Alexander Best
>Release:        9.0-CURRENT
>Organization:
>Environment:
FreeBSD otaku 9.0-CURRENT FreeBSD 9.0-CURRENT #4 r199236M: Thu Nov 12 23:30:19 CET 2009     root@otaku:/usr/obj/usr/src/sys/ARUNDEL  i386
>Description:
this patch makes burncd honour the envar BURNCD_SPEED.

discussed with keramida@ and des@ in this thread:

http://lists.freebsd.org/pipermail/freebsd-hackers/2009-November/029969.html

the final patch can be found (apart from this pr) here:

http://lists.freebsd.org/pipermail/freebsd-hackers/2009-November/029994.html

cheers.
alex
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: usr.sbin/burncd/burncd.8
===================================================================
--- usr.sbin/burncd/burncd.8	(revision 199236)
+++ usr.sbin/burncd/burncd.8	(working copy)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 2, 2005
+.Dd Nov 9, 2009
 .Os
 .Dt BURNCD 8
 .Sh NAME
@@ -158,7 +158,11 @@
 .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
Index: usr.sbin/burncd/burncd.c
===================================================================
--- usr.sbin/burncd/burncd.c	(revision 199236)
+++ usr.sbin/burncd/burncd.c	(working copy)
@@ -80,11 +80,13 @@
 	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 @@
 			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 @@
 	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();
 


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->patched 
State-Changed-By: delphij 
State-Changed-When: Mon Dec 21 19:28:03 UTC 2009 
State-Changed-Why:  
Patch applied against -HEAD, MFC reminder. 


Responsible-Changed-From-To: freebsd-bugs->delphij 
Responsible-Changed-By: delphij 
Responsible-Changed-When: Mon Dec 21 19:28:03 UTC 2009 
Responsible-Changed-Why:  
Take. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=140530 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/140530: commit references a PR
Date: Mon, 21 Dec 2009 19:28:03 +0000 (UTC)

 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();
  
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/140530: commit references a PR
Date: Mon, 21 Dec 2009 19:56:12 +0000 (UTC)

 Author: delphij
 Date: Mon Dec 21 19:56:03 2009
 New Revision: 200800
 URL: http://svn.freebsd.org/changeset/base/200800
 
 Log:
   Use vsscanf instead of rolling our own.
   
   PR:		bin/140530
   Submitted by:	Jeremy Huddleston <jeremyhu apple.com>
   MFC after:	1 month
 
 Modified:
   head/lib/libc/stdio/sscanf.c
 
 Modified: head/lib/libc/stdio/sscanf.c
 ==============================================================================
 --- head/lib/libc/stdio/sscanf.c	Mon Dec 21 19:55:05 2009	(r200799)
 +++ head/lib/libc/stdio/sscanf.c	Mon Dec 21 19:56:03 2009	(r200800)
 @@ -41,37 +41,14 @@ __FBSDID("$FreeBSD$");
  #include <stdarg.h>
  #include "local.h"
  
 -static int eofread(void *, char *, int);
 -
 -/* ARGSUSED */
 -static int
 -eofread(cookie, buf, len)
 -	void *cookie;
 -	char *buf;
 -	int len;
 -{
 -
 -	return (0);
 -}
 -
  int
  sscanf(const char * __restrict str, char const * __restrict fmt, ...)
  {
  	int ret;
  	va_list ap;
 -	FILE f;
  
 -	f._file = -1;
 -	f._flags = __SRD;
 -	f._bf._base = f._p = (unsigned char *)str;
 -	f._bf._size = f._r = strlen(str);
 -	f._read = eofread;
 -	f._ub._base = NULL;
 -	f._lb._base = NULL;
 -	f._orientation = 0;
 -	memset(&f._mbstate, 0, sizeof(mbstate_t));
  	va_start(ap, fmt);
 -	ret = __svfscanf(&f, fmt, ap);
 +	ret = vsscanf(str, fmt, ap);
  	va_end(ap);
  	return (ret);
  }
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: delphij 
State-Changed-When: Wed Jan 20 00:47:12 UTC 2010 
State-Changed-Why:  
Patch applied to both 7-STABLE and 8-STABLE and will appear 
in forthcoming 7.3-RELEASE and 8.1-RELEASE, thanks for your 
submission! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=140530 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/140530: commit references a PR
Date: Wed, 20 Jan 2010 00:43:28 +0000 (UTC)

 Author: delphij
 Date: Wed Jan 20 00:43:15 2010
 New Revision: 202662
 URL: http://svn.freebsd.org/changeset/base/202662
 
 Log:
   MFC r200795:
   
   Add support of using environment variable BURNCD_SPEED to specify
   recodring speed.
   
   PR:		bin/140530
   Submitted by:	Alexander Best <alexbestms wwu.de>
 
 Modified:
   stable/8/usr.sbin/burncd/burncd.8
   stable/8/usr.sbin/burncd/burncd.c
 Directory Properties:
   stable/8/usr.sbin/burncd/   (props changed)
 
 Modified: stable/8/usr.sbin/burncd/burncd.8
 ==============================================================================
 --- stable/8/usr.sbin/burncd/burncd.8	Tue Jan 19 23:07:12 2010	(r202661)
 +++ stable/8/usr.sbin/burncd/burncd.8	Wed Jan 20 00:43:15 2010	(r202662)
 @@ -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: stable/8/usr.sbin/burncd/burncd.c
 ==============================================================================
 --- stable/8/usr.sbin/burncd/burncd.c	Tue Jan 19 23:07:12 2010	(r202661)
 +++ stable/8/usr.sbin/burncd/burncd.c	Wed Jan 20 00:43:15 2010	(r202662)
 @@ -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();
  
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/140530: commit references a PR
Date: Wed, 20 Jan 2010 00:47:07 +0000 (UTC)

 Author: delphij
 Date: Wed Jan 20 00:46:55 2010
 New Revision: 202663
 URL: http://svn.freebsd.org/changeset/base/202663
 
 Log:
   MFC r200795:
   
   Add support of using environment variable BURNCD_SPEED to specify
   recodring speed.
   
   PR:		bin/140530
   Submitted by:	Alexander Best <alexbestms wwu.de>
 
 Modified:
   stable/7/usr.sbin/burncd/burncd.8
   stable/7/usr.sbin/burncd/burncd.c
 Directory Properties:
   stable/7/usr.sbin/burncd/   (props changed)
 
 Modified: stable/7/usr.sbin/burncd/burncd.8
 ==============================================================================
 --- stable/7/usr.sbin/burncd/burncd.8	Wed Jan 20 00:43:15 2010	(r202662)
 +++ stable/7/usr.sbin/burncd/burncd.8	Wed Jan 20 00:46:55 2010	(r202663)
 @@ -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: stable/7/usr.sbin/burncd/burncd.c
 ==============================================================================
 --- stable/7/usr.sbin/burncd/burncd.c	Wed Jan 20 00:43:15 2010	(r202662)
 +++ stable/7/usr.sbin/burncd/burncd.c	Wed Jan 20 00:46:55 2010	(r202663)
 @@ -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();
  
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/140530: commit references a PR
Date: Wed, 20 Jan 2010 00:53:16 +0000 (UTC)

 Author: delphij
 Date: Wed Jan 20 00:53:03 2010
 New Revision: 202665
 URL: http://svn.freebsd.org/changeset/base/202665
 
 Log:
   MFC r200800:
   
   Use vsscanf instead of rolling our own.
   
   PR:		bin/140530
   Submitted by:	Jeremy Huddleston <jeremyhu apple.com>
 
 Modified:
   stable/8/lib/libc/stdio/sscanf.c
 Directory Properties:
   stable/8/lib/libc/   (props changed)
   stable/8/lib/libc/stdtime/   (props changed)
 
 Modified: stable/8/lib/libc/stdio/sscanf.c
 ==============================================================================
 --- stable/8/lib/libc/stdio/sscanf.c	Wed Jan 20 00:52:24 2010	(r202664)
 +++ stable/8/lib/libc/stdio/sscanf.c	Wed Jan 20 00:53:03 2010	(r202665)
 @@ -41,37 +41,14 @@ __FBSDID("$FreeBSD$");
  #include <stdarg.h>
  #include "local.h"
  
 -static int eofread(void *, char *, int);
 -
 -/* ARGSUSED */
 -static int
 -eofread(cookie, buf, len)
 -	void *cookie;
 -	char *buf;
 -	int len;
 -{
 -
 -	return (0);
 -}
 -
  int
  sscanf(const char * __restrict str, char const * __restrict fmt, ...)
  {
  	int ret;
  	va_list ap;
 -	FILE f;
  
 -	f._file = -1;
 -	f._flags = __SRD;
 -	f._bf._base = f._p = (unsigned char *)str;
 -	f._bf._size = f._r = strlen(str);
 -	f._read = eofread;
 -	f._ub._base = NULL;
 -	f._lb._base = NULL;
 -	f._orientation = 0;
 -	memset(&f._mbstate, 0, sizeof(mbstate_t));
  	va_start(ap, fmt);
 -	ret = __svfscanf(&f, fmt, ap);
 +	ret = vsscanf(str, fmt, ap);
  	va_end(ap);
  	return (ret);
  }
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
>Unformatted:
