Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Apr 2023 16:26:56 GMT
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: b740e02500ca - main - bsnmp: make single bit bitfields unsigned to avoid clang 16 warning
Message-ID:  <202304171626.33HGQu2Q036566@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=b740e02500ca248e1096cf745a17d2a8fcc44fed

commit b740e02500ca248e1096cf745a17d2a8fcc44fed
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-04-17 16:11:56 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-04-17 16:26:03 +0000

    bsnmp: make single bit bitfields unsigned to avoid clang 16 warning
    
    Clang 16 introduced a warning about single bit bitfields in structs,
    which is triggered by a declaration in bsnmp's snmpd.h:
    
        contrib/bsnmp/snmpd/trans_lsock.c:271:21: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                peer->input.stream = 1;
                                   ^ ~
    
    Signed one-bit bitfields can only have values -1 and 0, but the intent
    here is to use the field as a boolean, so make it unsigned.
    
    MFC after:      3 days
---
 contrib/bsnmp/snmpd/snmpd.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/contrib/bsnmp/snmpd/snmpd.h b/contrib/bsnmp/snmpd/snmpd.h
index 48a7b44a04b2..394a4f4736d6 100644
--- a/contrib/bsnmp/snmpd/snmpd.h
+++ b/contrib/bsnmp/snmpd/snmpd.h
@@ -152,12 +152,12 @@ struct port_input {
 	int		fd;		/* socket */
 	void		*id;		/* evSelect handle */
 
-	int		stream : 1;	/* stream socket */
-	int		cred : 1;	/* want credentials */
+	u_int		stream : 1;	/* stream socket */
+	u_int		cred : 1;	/* want credentials */
 
 	struct sockaddr	*peer;		/* last received packet */
 	socklen_t	peerlen;
-	int		priv : 1;	/* peer is privileged */
+	u_int		priv : 1;	/* peer is privileged */
 
 	u_char		*buf;		/* receive buffer */
 	size_t		buflen;		/* buffer length */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202304171626.33HGQu2Q036566>