From nobody Thu Feb 6 15:38:52 2025 X-Original-To: dev-commits-src-all@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 4Yph8s2vwBz5mchR; Thu, 06 Feb 2025 15:38:53 +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 4Yph8s16hnz44Tt; Thu, 06 Feb 2025 15:38:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738856333; 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=6WPohXQDZ8/DBg0fTYMCJwsipvlMMbOIeYaaFMkPJes=; b=VJEUR0BrbBRHP/dlRJbLwkxjeIUY/14xsQTpPy4ICMMDGVMVdBGnQy403C3TP+TR0sNisx E5dpykxepSq8CDSDGO07IcqD2prXhZCrS+WmLKWqtStsxb4OMbrnAlqoGOulHyEAcksTG4 XTBDDh0xT05Jgam+NTcLhBjbZOrv2zRcc/R1uh1GwPbmH/LbaicNnc4r29Y7zNkux77+3l 7kiafBzH0YnArBrrhizM4Sb67A63EPASr+Rkyts5h2RLn7FjBPkivBE4bV2J2UTT2DjrnC plXHKctHPp9wj8uoqtV8M/ch0r4FwjZp5phmqANkztar9M9vER94NqGmw06SRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738856333; 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=6WPohXQDZ8/DBg0fTYMCJwsipvlMMbOIeYaaFMkPJes=; b=tGadBgkuDou+kzq98qFnz5+dE8Z6C672NjK1ZKFw4cc2uIyzRb3Tf0iWq4yBp1VOcDHouX OIdzoNzUdPJVjemPgxPppUHUHZFM6t/W6u++Xq7vE5EYOVKu00YYScjVhqFo2O2cQhbaOo s/7mXhUaT3/SK/4ox5z0V3hbb2ht5bnZbQ7HpHAO+cexmxZ8/Avj7q56dTvRZEXXib7hO/ 26SGGQrk//gbL+ZtCfwRcf6VMYQ0GA/skIUxJju6QNjAHTy/z3mn10Am6a29i7Cj2hUeD0 iJSgVgotgWnI2tiYv4U8GElPyRaO4V8E39b0a+tzNVzfAEKRmUaq+olOWYjzMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1738856333; a=rsa-sha256; cv=none; b=BWYgBxaif8ESdI0ee2UXlRgZ6iqAon9uJ/14RdnBQqkZsWQG+LRIfbCzfaTsq+RS0IaZxZ 90ds1SUE3Vf9761Gq2i825cWKM+gEMBc1846/FFToEMWCILWNRgHfTf9v2wuhGYMPlOhq5 ohoa0G7WZLITJFQ5SFpshvSbE6LwrlWIrnHMNOq5uv+ZlZtQW0MHJT/aA9l35Y9d7e8No/ svbWHK3UAKvwPtEKbZYjbO+UYtbQKw2nbgauPrYBTiXr/LCIn+slz5+HIHai8TxLZMfAjg 8zcRq9p9MHz9bQ8Qk2nNRW32t0UmebgnfF8GFLRtpqdXoPvBPAZoDWYco5+c8Q== 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 4Yph8s0kFQzl9M; Thu, 06 Feb 2025 15:38:53 +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 516FcrA0002430; Thu, 6 Feb 2025 15:38:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 516FcqqH002427; Thu, 6 Feb 2025 15:38:52 GMT (envelope-from git) Date: Thu, 6 Feb 2025 15:38:52 GMT Message-Id: <202502061538.516FcqqH002427@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 4ef48d172bb1 - stable/14 - sysctl: Refactor function parsefile() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: 4ef48d172bb11f01174fff871d69623eed59d626 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=4ef48d172bb11f01174fff871d69623eed59d626 commit 4ef48d172bb11f01174fff871d69623eed59d626 Author: Zhenlei Huang AuthorDate: 2025-01-30 18:20:41 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-06 15:38:04 +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 (cherry picked from commit 6193855fc76c591ffabe6168cd674e6ec0dafa8e) --- 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 13161e9a3be4..883923b4a50f 100644 --- a/sbin/sysctl/sysctl.c +++ b/sbin/sysctl/sysctl.c @@ -67,7 +67,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); @@ -132,6 +132,7 @@ main(int argc, char **argv) { int ch; int warncount = 0; + FILE *file = NULL; setlocale(LC_NUMERIC, ""); setbuf(stdout,0); @@ -227,8 +228,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); @@ -569,15 +575,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; @@ -613,7 +615,6 @@ parsefile(const char *filename) else warncount += parse(p, lineno); } - fclose(file); return (warncount); }