From nobody Thu Jan 30 18:23:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YkS7V60z5z5mJGZ; Thu, 30 Jan 2025 18:23:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YkS7V3qPFz3xxb; Thu, 30 Jan 2025 18:23:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738261382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2svkcAp6EV5DmukH1wyVgFuPIsCR1DRmsB1ByKxhCbs=; b=QHAulnYLFyrweeaITEkiOuTc2gb8+T0U1Eox5OpxJnWwSNpV7WhuhfpqX7ZPFDRupAYTHA SrzaPD3EGfYN1U0J/aCa1SBrtaoGqxmxZKXJVUVaenhyW3yMRhUG80fymggXY3w/gzqtQB jZSTJjJ6ZkxNoSBm4cnJrezzD31LN+dcNZC/m7cYtS8EwxAnZnHttTRYYilcpoC7k01Egg mHHAEonbR7o7ZJIeDm3GYvJz+QOHQzfR2/avIye9WRV5okHqiBxaMB1hfE4npw/ovBgW0C z9pUxbpxh9v5yxvvwyFRTCJo+zURvN8R7WjoppVehjBDUhBuvZx3FZEZYz5PzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738261382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2svkcAp6EV5DmukH1wyVgFuPIsCR1DRmsB1ByKxhCbs=; b=dDSFChdSun6GPTkLovyimaSkjEswgNfxY3QlZjfSgPIQIe53En6P/ooALn4M4KBtVvRiII TI9jl+HjIrknPu18cv44vkIu2JC2Kkz+YgdBpi67gstILKvrOrTuh++alBMRMWuOUoJr2u oSKiUSA7/Mp7OcVlxy7HZ8qCrVcj4KZ8LDn6U0HErJSslYcAWBlgAniPMNiR8BpLSxNzKN j7um5UNJ+Z/X2nJC6DCGhCso+SQYlBKU+rFo/XUDxvCns7zIRdkIwB67shRVndKyweO9lk lGnazgptv92Mv2HjoDvKqJb6HvzLxvOiL+yV6IDrDeXiI6XY/a+J8IcgSnd73g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1738261382; a=rsa-sha256; cv=none; b=oSXw4Ok/9LLqBZlAB2TWEQ+InDNzM9qMotOPoT5Zj1TxhIVxLi+g9dkL5+fVhkQkgZBAlY qMGzek4GPXTLrgBY9Hz+Uskg53o5TtIKAT2bf1K23HBoVjFTzWeONBghcjHkRwPC0Jw7ue +gkeD60DEfF34d6R06xfwI/lWsL+5FzBEE+GuA4PqvdR3FGelLSkf4udNyIPvk68FwWnnh 1yYBoVcpyEeV6bfbuLYnOT6wGGNFnyq8OiggayGZ6OYHgF+GhT/2JKCm7/6LRMusBW+3lq uFnZGPLvDOt9Zrq5dT003K3S/VwQwbfeV12o+4FIJukJ4IoxnIlcfXDXU5agWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YkS7V3P4nzyDL; Thu, 30 Jan 2025 18:23:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50UIN24a006274; Thu, 30 Jan 2025 18:23:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50UIN2lG006272; Thu, 30 Jan 2025 18:23:02 GMT (envelope-from git) Date: Thu, 30 Jan 2025 18:23:02 GMT Message-Id: <202501301823.50UIN2lG006272@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 6193855fc76c - main - sysctl: Refactor function parsefile() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6193855fc76c591ffabe6168cd674e6ec0dafa8e Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=6193855fc76c591ffabe6168cd674e6ec0dafa8e commit 6193855fc76c591ffabe6168cd674e6ec0dafa8e Author: Zhenlei Huang AuthorDate: 2025-01-30 18:20:41 +0000 Commit: Zhenlei Huang CommitDate: 2025-01-30 18:20:41 +0000 sysctl: Refactor function parsefile() Let the caller open the file and pass in the file handler. This can benefit an upcoming change so that we will have cleaner logic. No functional change intended. Suggested by: markj MFC after: 1 week --- sbin/sysctl/sysctl.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/sbin/sysctl/sysctl.c b/sbin/sysctl/sysctl.c index d3a3c64057d3..200c2da8850f 100644 --- a/sbin/sysctl/sysctl.c +++ b/sbin/sysctl/sysctl.c @@ -66,7 +66,7 @@ static int Nflag, nflag, oflag, qflag, tflag, Tflag, Wflag, xflag; static bool Fflag, Jflag, lflag, Vflag; static int oidfmt(int *, int, char *, u_int *); -static int parsefile(const char *); +static int parsefile(FILE *); static int parse(const char *, int); static int show_var(int *, int, bool); static int sysctl_all(int *, int); @@ -131,6 +131,7 @@ main(int argc, char **argv) { int ch; int warncount = 0; + FILE *file = NULL; setlocale(LC_NUMERIC, ""); setbuf(stdout,0); @@ -226,8 +227,13 @@ main(int argc, char **argv) if (argc == 0 && conffile == NULL) usage(); - if (conffile != NULL) - warncount += parsefile(conffile); + if (conffile != NULL) { + file = fopen(conffile, "r"); + if (file == NULL) + err(EX_NOINPUT, "%s", conffile); + warncount += parsefile(file); + fclose(file); + } while (argc-- > 0) warncount += parse(*argv++, 0); @@ -568,15 +574,11 @@ parse(const char *string, int lineno) } static int -parsefile(const char *filename) +parsefile(FILE *file) { - FILE *file; char line[BUFSIZ], *p, *pq, *pdq; int warncount = 0, lineno = 0; - file = fopen(filename, "r"); - if (file == NULL) - err(EX_NOINPUT, "%s", filename); while (fgets(line, sizeof(line), file) != NULL) { lineno++; p = line; @@ -612,7 +614,6 @@ parsefile(const char *filename) else warncount += parse(p, lineno); } - fclose(file); return (warncount); }