Date: Tue, 2 Dec 2003 13:46:09 +1000 (EST) From: Andy Farkas <andyf@speednet.com.au> To: "David E. O'Brien" <obrien@freebsd.org> Cc: freebsd-bugs@freebsd.org Subject: Re: bin/59220: systat(1) device select (:only) broken Message-ID: <20031202134151.Y16532@hewey.af.speednet.com.au> In-Reply-To: <200312020315.hB23FbvV091846@freefall.freebsd.org> References: <200312020315.hB23FbvV091846@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> Responsible-Changed-From-To: freebsd-bugs->obrien
> Responsible-Changed-By: obrien
> Responsible-Changed-When: Mon Dec 1 19:15:25 PST 2003
> Responsible-Changed-Why:
> I'll take this one.
Please note that I (along with the author of the original changes) may
have been confused over the meanings of the variables tmpstr and tmpstr1
in the offending code. A simpler patch might look like this:
--- devs.c-orig Fri Nov 21 13:23:33 2003
+++ devs.c Fri Nov 21 13:46:14 2003
@@ -280,12 +280,12 @@
;
if (*cp)
*cp++ = '\0';
- if (cp - args == 0)
+ if (cp - tmpstr1 == 0)
break;
for (i = 0; i < num_devices; i++) {
asprintf(&buffer, "%s%d", dev_select[i].device_name,
dev_select[i].unit_number);
- if (strcmp(buffer, tmpstr1) == 0) {
+ if (strcmp(tmpstr1, buffer) == 0) {
num_devices_specified++;
@@ -303,8 +303,8 @@
free(buffer);
}
if (i >= num_devices)
- error("%s: unknown drive", args);
- args = cp;
+ error("%s: unknown drive", tmpstr1);
+ tmpstr1 = cp;
}
free(tmpstr);
--
:{ andyf@speednet.com.au
Andy Farkas
System Administrator
Speednet Communications
http://www.speednet.com.au/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031202134151.Y16532>
