git: c3e9423743d9 - main - Move print_bits to ifconfig.c and make available to other src files.

From: Gordon Tetlow <gordon_at_FreeBSD.org>
Date: Mon, 03 Jun 2024 15:52:06 UTC
The branch main has been updated by gordon:

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

commit c3e9423743d91ae5b5865602a905900a1855055e
Author:     Gordon Tetlow <gordon@FreeBSD.org>
AuthorDate: 2024-05-31 17:48:10 +0000
Commit:     Gordon Tetlow <gordon@FreeBSD.org>
CommitDate: 2024-06-03 15:48:35 +0000

    Move print_bits to ifconfig.c and make available to other src files.
    
    Reviewed by:    emaste
    Event:          Kitchener-Waterloo Hackathon 202406
    Differential Revision:  https://reviews.freebsd.org/D45441
---
 sbin/ifconfig/ifconfig.c         | 23 +++++++++++++++++++++++
 sbin/ifconfig/ifconfig.h         |  2 ++
 sbin/ifconfig/ifconfig_netlink.c | 23 -----------------------
 3 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c
index a8bd5a0c89db..92543a281959 100644
--- a/sbin/ifconfig/ifconfig.c
+++ b/sbin/ifconfig/ifconfig.c
@@ -1877,6 +1877,29 @@ Perror(const char *cmd)
 	Perrorc(cmd, errno);
 }
 
+void
+print_bits(const char *btype, uint32_t *v, const int v_count,
+    const char **names, const int n_count)
+{
+	int num = 0;
+
+	for (int i = 0; i < v_count * 32; i++) {
+		bool is_set = v[i / 32] & (1U << (i % 32));
+		if (is_set) {
+			if (num++ == 0)
+				printf("<");
+			if (num != 1)
+				printf(",");
+			if (i < n_count)
+				printf("%s", names[i]);
+			else
+				printf("%s_%d", btype, i);
+		}
+	}
+	if (num > 0)
+		printf(">");
+}
+
 /*
  * Print a value a la the %b format of the kernel's printf
  */
diff --git a/sbin/ifconfig/ifconfig.h b/sbin/ifconfig/ifconfig.h
index 76a5aeb718b1..555e7dbaca64 100644
--- a/sbin/ifconfig/ifconfig.h
+++ b/sbin/ifconfig/ifconfig.h
@@ -260,6 +260,8 @@ void	setifcap(if_ctx *ctx, const char *, int value);
 void	setifcapnv(if_ctx *ctx, const char *vname, const char *arg);
 
 void	Perror(const char *cmd);
+void	print_bits(const char *btype, uint32_t *v, const int v_count,
+		const char **names, const int n_count);
 void	printb(const char *s, unsigned value, const char *bits);
 
 void	ifmaybeload(struct ifconfig_args *args, const char *name);
diff --git a/sbin/ifconfig/ifconfig_netlink.c b/sbin/ifconfig/ifconfig_netlink.c
index 8964b63caf7b..729d4ca56545 100644
--- a/sbin/ifconfig/ifconfig_netlink.c
+++ b/sbin/ifconfig/ifconfig_netlink.c
@@ -81,29 +81,6 @@ static const char	*IFFBITS[] = {
 	"LOWER_UP",		/* 24:0x1000000 IFF_NETLINK_1*/
 };
 
-static void
-print_bits(const char *btype, uint32_t *v, const int v_count,
-    const char **names, const int n_count)
-{
-	int num = 0;
-
-	for (int i = 0; i < v_count * 32; i++) {
-		bool is_set = v[i / 32] & (1U << (i % 32));
-		if (is_set) {
-			if (num++ == 0)
-				printf("<");
-			if (num != 1)
-				printf(",");
-			if (i < n_count)
-				printf("%s", names[i]);
-			else
-				printf("%s_%d", btype, i);
-		}
-	}
-	if (num > 0)
-		printf(">");
-}
-
 static void
 nl_init_socket(struct snl_state *ss)
 {