From owner-cvs-all@FreeBSD.ORG Thu Mar 11 03:30:58 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4C2F416A4CE; Thu, 11 Mar 2004 03:30:58 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 449F443D4C; Thu, 11 Mar 2004 03:30:58 -0800 (PST) (envelope-from bde@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i2BBUwGe084060; Thu, 11 Mar 2004 03:30:58 -0800 (PST) (envelope-from bde@repoman.freebsd.org) Received: (from bde@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i2BBUwqB084059; Thu, 11 Mar 2004 03:30:58 -0800 (PST) (envelope-from bde) Message-Id: <200403111130.i2BBUwqB084059@repoman.freebsd.org> From: Bruce Evans Date: Thu, 11 Mar 2004 03:30:57 -0800 (PST) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/usr.bin/vmstat vmstat.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Mar 2004 11:30:58 -0000 bde 2004/03/11 03:30:57 PST FreeBSD src repository Modified files: usr.bin/vmstat vmstat.c Log: Fixed a misspelling of 0 as NULL. Fixed a nearby bug. The "play it safe" code in dosysctl() was unsafe because it overran the buffer by 1 if sysctl() filled all of the buffer. Fixed a nearby style bug in output. Not just 1, but 2 extra newlines were printed at the end by "vmstat -m" and "vmstat -z". Don't print any newlines explicitly. This depends on 2 of the many formatting bugs in the corresponding sysctls. First, the sysctls return an extra newline at the end of the strings. This also messes up output from sysctl(8). Second, the sysctls return an extra newline at the beginning of the strings. This is good for separating the 2 tables output by "vmstat -mz" and for starting the header on a new line in plain sysctl output, but gives a bogus extra newline at the beginning for "vm -[m | z]" and "sysctl -n [kern.malloc | vm.zone]". Fixed some nearby style bugs in the source code: - the same line that misspelled 0 as NULL also spelled NULL as 0. - the size was doubled twice in the realloc loop. - the "play it safe" comment was misleading. Terminating the buffer is bogus because dosysctl() is only meant to work with sysctls that return strings and the terminator is part of a string. However, the kern.malloc sysctl has more than style bugs. It also doesn't return a string. Termination is needed to work around this bug. Revision Changes Path 1.80 +4 -4 src/usr.bin/vmstat/vmstat.c