From nobody Tue Apr 18 18:31:28 2023
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 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 <jhb@FreeBSD.org>
Subject: git: e4253ae822ec - main - rpc.rstatd/rwalld: Use more accurate function pointer types.
List-Id: Commit messages for the main branch of the src repository <dev-commits-src-main.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main
List-Help: <mailto:dev-commits-src-main+help@freebsd.org>
List-Post: <mailto:dev-commits-src-main@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-main+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-main+unsubscribe@freebsd.org>
Sender: owner-dev-commits-src-main@freebsd.org
X-BeenThere: dev-commits-src-main@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 <jhb@FreeBSD.org>
AuthorDate: 2023-04-18 18:21:50 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
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);
 	}