From nobody Thu Feb 6 16:09: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 4Yphrd4wK3z5mgH1; Thu, 06 Feb 2025 16:09: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 4Yphrd10BZz4HQ1; Thu, 06 Feb 2025 16:09:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738858193; 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=Q9mysU9uX/AXh3vGAZbiK0KYNxTwcfv6I4CoSeauTiE=; b=TKDRmfoYKulDRavFx5F7yIzBIe9TxB1YaGgGbCEpwbQkDVh3w7/dkBsTaKmlvqHr0SofKL 4iY2rGKajRwlrifTam6CAdpIIyCv8I3st1+Kic+oxty9vnJpsa1OXljAtCF5KX8kLcUpyV BcO2K1n7lgyP7JUHS68vgQIYDz6c6nM8Crd9QTEQWzvHcn2DTDURfiZYE3pNrBpj6KWCHM 9BcR2671GJEnds2m9tT31Oq/MbQrAyNwpvWMZ5vMBOIqejz7Y24LwaLt9gC9r2sqGof5BN IraZxS17gKYKZoHIU94mw6RRBNMrsYMOUwXQdLUWOy4SA0n5YvPSEK/IhImqPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738858193; 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=Q9mysU9uX/AXh3vGAZbiK0KYNxTwcfv6I4CoSeauTiE=; b=Er5uw3TQkWLPN1jPqOgB8UN4Sl4dWv1IsmclKFI34SGsS7nrjRP3OpQw0E+J1cqwKK8W9u ZOUU0sUipSeTx5XU69L4W3WpVn4CVyOChsWNHReHe2AF1ss/PQydmJrh7NomVJ9XNBR53k d4nHhyf8kUHiwIgFmYuY4cA7f3TkBX/IRFx81ZOsN9mTnp5lkeLO2osFAASeB3lBYgQgDS fvcFbeHmFxUFgWNhTj6dxJf5OaDnNBADXOkh/ROql2R4wze6VvRkUFk4SAml9yX69PcO+u CoAjnuYSki9tsWNsJ6VXW1ya93NI4WRK04/mIsduQSUIFb54hO9vz/DTA/Ysvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1738858193; a=rsa-sha256; cv=none; b=xepJhPubDqmlZCJDHGsel0K8qiFV6rZAaapkTz/tKrgbYkN13OWAwhTsecuNQgR2bRT05n MwBW9ybZi6v4fmuazfjmIhcKdLFNVIiDAtXtYtNXP4npmBKT27i7yFTBRpCsTekA6GTxdf zLuu8LYdXmko1WddcFhjfcKk++JmdrZSngJaqjaENYe5ZXQWg6/d9QKRjceEcMKmuvbaIT 3P/BrSKrdZ187ldi/oNQaPDp4X1VMKMBMJIbTHX3+SloPih1ffPK5NNExfhxX5FUM89T3C ZCZQzHJSh6JurS/wD5YqY/ldhqdm1OEtzIcQQKLvKrQO0jAJsbhyWf15tBRE4g== 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 4Yphrd0MMQzlHW; Thu, 06 Feb 2025 16:09: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 516G9qO5059224; Thu, 6 Feb 2025 16:09:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 516G9qk3059221; Thu, 6 Feb 2025 16:09:52 GMT (envelope-from git) Date: Thu, 6 Feb 2025 16:09:52 GMT Message-Id: <202502061609.516G9qk3059221@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: 73a516c6527c - stable/13 - 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/13 X-Git-Reftype: branch X-Git-Commit: 73a516c6527c84701921c329d4f08da44522ccc4 Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=73a516c6527c84701921c329d4f08da44522ccc4 commit 73a516c6527c84701921c329d4f08da44522ccc4 Author: Zhenlei Huang AuthorDate: 2025-01-30 18:20:41 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-06 16:08:52 +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) (cherry picked from commit 4ef48d172bb11f01174fff871d69623eed59d626) --- 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 887de78d269b..41dcf3db9184 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 Jflag, 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); @@ -220,8 +221,13 @@ main(int argc, char **argv) usage(); warncount = 0; - 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); @@ -562,15 +568,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; @@ -606,7 +608,6 @@ parsefile(const char *filename) else warncount += parse(p, lineno); } - fclose(file); return (warncount); }