From nobody Tue Apr 18 18:31:28 2023 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 4Q1CDc6kwyz45TmD; Tue, 18 Apr 2023 18:31:28 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q1CDc5mTzz41DY; Tue, 18 Apr 2023 18:31:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681842688; 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=ubCuG9gTBBa5ggo1rdW/19uloAZHcoiIR7F5urX3N08=; b=l33DjPlKyjiQtztXIyVkYAmdQX+sncM+FfBBKu2VWtqxcSdALamLeX5dT5gUdj06tSQ+Rz goqIxDNkSnfyBj7gM90hEGr8RGYvgzUa0Srw5zomajHwGNzE/TuLToAbHhtZu1Pqj55cy2 qJiZ1RrTbLejTc7nJrtA/7MF3brAGY0YPNEHRxH0ECv/fOB5EIpOPuu1RAEgRgkXoJ1LZs M79teDP/L8GVy+xRqf2W4vp/JEK0nFxz7db0+Blte1oFWLlPMy0FsfolZgY1m+0Mam3hV7 L8Mqe/nTsNW2MFnv9+Ah8Pa4LZNjpUiiQf03QcxVstR8d4MbSxaxi6rJNP+DrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681842688; 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=ubCuG9gTBBa5ggo1rdW/19uloAZHcoiIR7F5urX3N08=; b=XngcrVQSO71YEpy6MawolbdruGfPds5k3i3Cdqf4TRXUHl3aUWZxqWcysRKPdul4C2ioYT dAzxcb4hGlzx9YKs8wFzt7APgezIARyo/v6POpC+7MzNtmR2mIR7FmxkBYv6AxC/HWj6kr wT6S/8FJFSqA6QPoBYwj6WufKxLeriZTBVL4elJG7wR+3sxEcPtA7Bsv2fuSSwdPmYt1vZ JP6GZ/fgbq9JqSNThivobqHeM2oDQdrDRlhrlN6eVD6xQwNOjWbZVZDZGea6CKYhot5xmJ T89ZNWir43J7gdmS+GpjT9+atHXXPJJ9vU4bzBdHzZpOwZvZ3SJasNYypFI3uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681842688; a=rsa-sha256; cv=none; b=nr8ukhvFxd4DoTzOQSbEzzG5OtqhkTju+/7sAS3lLdk4pAwOVTgZ0ot9ruJkUWo9qvCntB x0xaO/iTL4+U/2O3BiFNBDP439igV2L9Eyw53umc8+/aajs6BNc5jGwGWb7vwz+w3cUVIn YiF18jkYc8wV22rfZJ3q+ltLx52vhL4vaJAXK/nvq9SGZ0CIov1D4cMHLUtFuys6EmZO+i 9o3FpSvVmW99DOs+Eyh1LarrnVkdqVJuo2e979RHca0pWzk6AFuO/FZlzvnWjp8CC6kouy yvlJk8m+FinNdk4RK3gY5Rw+wOj7zPWRXmHogiut3QPptkNp9XbIA3OfPW5IZA== 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 4Q1CDc4SjczNQg; Tue, 18 Apr 2023 18:31:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33IIVSQl026554; Tue, 18 Apr 2023 18:31:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33IIVSiF026553; Tue, 18 Apr 2023 18:31:28 GMT (envelope-from git) Date: Tue, 18 Apr 2023 18:31:28 GMT Message-Id: <202304181831.33IIVSiF026553@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: e4253ae822ec - main - rpc.rstatd/rwalld: Use more accurate function pointer types. 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: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e4253ae822ec819a6258b98023c90378b894896a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e4253ae822ec819a6258b98023c90378b894896a commit e4253ae822ec819a6258b98023c90378b894896a Author: John Baldwin AuthorDate: 2023-04-18 18:21:50 +0000 Commit: John Baldwin CommitDate: 2023-04-18 18:21:50 +0000 rpc.rstatd/rwalld: Use more accurate function pointer types. Reviewed by: zlei, rmacklem Differential Revision: https://reviews.freebsd.org/D39521 --- libexec/rpc.rstatd/rstat_proc.c | 33 +++++++++++++++++---------------- libexec/rpc.rwalld/rwalld.c | 19 ++++++++++--------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/libexec/rpc.rstatd/rstat_proc.c b/libexec/rpc.rstatd/rstat_proc.c index f0f2ffd65b57..1f1bb7cf4048 100644 --- a/libexec/rpc.rstatd/rstat_proc.c +++ b/libexec/rpc.rstatd/rstat_proc.c @@ -406,9 +406,10 @@ rstat_service(struct svc_req *rqstp, SVCXPRT *transp) union { int fill; } argument; - char *result; - bool_t (*xdr_argument)(), (*xdr_result)(); - char *(*local)(); + void *result; + xdrproc_t xdr_argument, xdr_result; + typedef void *(svc_cb)(void *arg, struct svc_req *rqstp); + svc_cb *local; switch (rqstp->rq_proc) { case NULLPROC: @@ -416,17 +417,17 @@ rstat_service(struct svc_req *rqstp, SVCXPRT *transp) goto leave; case RSTATPROC_STATS: - xdr_argument = xdr_void; - xdr_result = xdr_statstime; + xdr_argument = (xdrproc_t)xdr_void; + xdr_result = (xdrproc_t)xdr_statstime; switch (rqstp->rq_vers) { case RSTATVERS_ORIG: - local = (char *(*)()) rstatproc_stats_1_svc; + local = (svc_cb *)rstatproc_stats_1_svc; break; case RSTATVERS_SWTCH: - local = (char *(*)()) rstatproc_stats_2_svc; + local = (svc_cb *)rstatproc_stats_2_svc; break; case RSTATVERS_TIME: - local = (char *(*)()) rstatproc_stats_3_svc; + local = (svc_cb *)rstatproc_stats_3_svc; break; default: svcerr_progvers(transp, RSTATVERS_ORIG, RSTATVERS_TIME); @@ -436,17 +437,17 @@ rstat_service(struct svc_req *rqstp, SVCXPRT *transp) break; case RSTATPROC_HAVEDISK: - xdr_argument = xdr_void; - xdr_result = xdr_u_int; + xdr_argument = (xdrproc_t)xdr_void; + xdr_result = (xdrproc_t)xdr_u_int; switch (rqstp->rq_vers) { case RSTATVERS_ORIG: - local = (char *(*)()) rstatproc_havedisk_1_svc; + local = (svc_cb *)rstatproc_havedisk_1_svc; break; case RSTATVERS_SWTCH: - local = (char *(*)()) rstatproc_havedisk_2_svc; + local = (svc_cb *)rstatproc_havedisk_2_svc; break; case RSTATVERS_TIME: - local = (char *(*)()) rstatproc_havedisk_3_svc; + local = (svc_cb *)rstatproc_havedisk_3_svc; break; default: svcerr_progvers(transp, RSTATVERS_ORIG, RSTATVERS_TIME); @@ -460,16 +461,16 @@ rstat_service(struct svc_req *rqstp, SVCXPRT *transp) goto leave; } bzero((char *)&argument, sizeof(argument)); - if (!svc_getargs(transp, (xdrproc_t)xdr_argument, &argument)) { + if (!svc_getargs(transp, xdr_argument, &argument)) { svcerr_decode(transp); goto leave; } result = (*local)(&argument, rqstp); if (result != NULL && - !svc_sendreply(transp, (xdrproc_t)xdr_result, result)) { + !svc_sendreply(transp, xdr_result, result)) { svcerr_systemerr(transp); } - if (!svc_freeargs(transp, (xdrproc_t)xdr_argument, &argument)) + if (!svc_freeargs(transp, xdr_argument, &argument)) errx(1, "unable to free arguments"); leave: if (from_inetd) diff --git a/libexec/rpc.rwalld/rwalld.c b/libexec/rpc.rwalld/rwalld.c index 1261b2301277..adde226cfba8 100644 --- a/libexec/rpc.rwalld/rwalld.c +++ b/libexec/rpc.rwalld/rwalld.c @@ -167,9 +167,10 @@ wallprog_1(struct svc_req *rqstp, SVCXPRT *transp) union { char *wallproc_wall_1_arg; } argument; - char *result; - bool_t (*xdr_argument)(), (*xdr_result)(); - char *(*local)(); + void *result; + xdrproc_t xdr_argument, xdr_result; + typedef void *(svc_cb)(void *arg, struct svc_req *rqstp); + svc_cb *local; switch (rqstp->rq_proc) { case NULLPROC: @@ -177,9 +178,9 @@ wallprog_1(struct svc_req *rqstp, SVCXPRT *transp) goto leave; case WALLPROC_WALL: - xdr_argument = xdr_wrapstring; - xdr_result = xdr_void; - local = (char *(*)()) wallproc_wall_1_svc; + xdr_argument = (xdrproc_t)xdr_wrapstring; + xdr_result = (xdrproc_t)xdr_void; + local = (svc_cb *)wallproc_wall_1_svc; break; default: @@ -187,16 +188,16 @@ wallprog_1(struct svc_req *rqstp, SVCXPRT *transp) goto leave; } bzero(&argument, sizeof(argument)); - if (!svc_getargs(transp, (xdrproc_t)xdr_argument, &argument)) { + if (!svc_getargs(transp, xdr_argument, &argument)) { svcerr_decode(transp); goto leave; } result = (*local)(&argument, rqstp); if (result != NULL && - !svc_sendreply(transp, (xdrproc_t)xdr_result, result)) { + !svc_sendreply(transp, xdr_result, result)) { svcerr_systemerr(transp); } - if (!svc_freeargs(transp, (xdrproc_t)xdr_argument, &argument)) { + if (!svc_freeargs(transp, xdr_argument, &argument)) { syslog(LOG_ERR, "unable to free arguments"); exit(1); }