]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
basic: split ifname related calls from format-util.h into format-ifname.h
authorLennart Poettering <lennart@poettering.net>
Thu, 12 Sep 2024 15:39:33 +0000 (17:39 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 13 Sep 2024 05:27:47 +0000 (07:27 +0200)
This way we don't have to pull in net/if.h into format-util.h.

This is supposed to address https://github.com/systemd/systemd/pull/32212#discussion_r1755639881

No actual code changes, just a .c/.h file split-up.

17 files changed:
src/basic/format-ifname.c [new file with mode: 0644]
src/basic/format-ifname.h [new file with mode: 0644]
src/basic/format-util.c
src/basic/format-util.h
src/basic/meson.build
src/basic/socket-util.c
src/libsystemd-network/network-common.c
src/machine/machinectl.c
src/network/networkctl-dump-util.c
src/network/networkctl-misc.c
src/network/networkd-link.c
src/network/wait-online/link.c
src/nsresourced/nsresourcework.c
src/resolve/resolvectl.c
src/resolve/resolved-dns-cache.c
src/shared/format-table.c
src/test/test-nss-hosts.c

diff --git a/src/basic/format-ifname.c b/src/basic/format-ifname.c
new file mode 100644 (file)
index 0000000..ce4933c
--- /dev/null
@@ -0,0 +1,37 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#include "format-ifname.h"
+#include "string-util.h"
+
+assert_cc(STRLEN("%") + DECIMAL_STR_MAX(int) <= IF_NAMESIZE);
+
+int format_ifname_full(int ifindex, FormatIfnameFlag flag, char buf[static IF_NAMESIZE]) {
+        if (ifindex <= 0)
+                return -EINVAL;
+
+        if (if_indextoname(ifindex, buf))
+                return 0;
+
+        if (!FLAGS_SET(flag, FORMAT_IFNAME_IFINDEX))
+                return -errno;
+
+        if (FLAGS_SET(flag, FORMAT_IFNAME_IFINDEX_WITH_PERCENT))
+                assert_se(snprintf_ok(buf, IF_NAMESIZE, "%%%d", ifindex));
+        else
+                assert_se(snprintf_ok(buf, IF_NAMESIZE, "%d", ifindex));
+
+        return 0;
+}
+
+int format_ifname_full_alloc(int ifindex, FormatIfnameFlag flag, char **ret) {
+        char buf[IF_NAMESIZE];
+        int r;
+
+        assert(ret);
+
+        r = format_ifname_full(ifindex, flag, buf);
+        if (r < 0)
+                return r;
+
+        return strdup_to(ret, buf);
+}
diff --git a/src/basic/format-ifname.h b/src/basic/format-ifname.h
new file mode 100644 (file)
index 0000000..84415b1
--- /dev/null
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include <net/if.h>
+
+typedef enum {
+        FORMAT_IFNAME_IFINDEX              = 1 << 0,
+        FORMAT_IFNAME_IFINDEX_WITH_PERCENT = (1 << 1) | FORMAT_IFNAME_IFINDEX,
+} FormatIfnameFlag;
+
+int format_ifname_full(int ifindex, FormatIfnameFlag flag, char buf[static IF_NAMESIZE]);
+int format_ifname_full_alloc(int ifindex, FormatIfnameFlag flag, char **ret);
+
+static inline int format_ifname(int ifindex, char buf[static IF_NAMESIZE]) {
+        return format_ifname_full(ifindex, 0, buf);
+}
+static inline int format_ifname_alloc(int ifindex, char **ret) {
+        return format_ifname_full_alloc(ifindex, 0, ret);
+}
+
+static inline char* _format_ifname_full(int ifindex, FormatIfnameFlag flag, char buf[static IF_NAMESIZE]) {
+        (void) format_ifname_full(ifindex, flag, buf);
+        return buf;
+}
+
+#define FORMAT_IFNAME_FULL(index, flag) _format_ifname_full(index, flag, (char[IF_NAMESIZE]){})
+#define FORMAT_IFNAME(index) _format_ifname_full(index, 0, (char[IF_NAMESIZE]){})
index 7098bf6a99aff52a53c5d1646a2d4db0b1bd7633..09cb716e7d1338c4d3b19f73ed5f20e32e9c5da5 100644 (file)
@@ -5,38 +5,6 @@
 #include "stdio-util.h"
 #include "strxcpyx.h"
 
-assert_cc(STRLEN("%") + DECIMAL_STR_MAX(int) <= IF_NAMESIZE);
-int format_ifname_full(int ifindex, FormatIfnameFlag flag, char buf[static IF_NAMESIZE]) {
-        if (ifindex <= 0)
-                return -EINVAL;
-
-        if (if_indextoname(ifindex, buf))
-                return 0;
-
-        if (!FLAGS_SET(flag, FORMAT_IFNAME_IFINDEX))
-                return -errno;
-
-        if (FLAGS_SET(flag, FORMAT_IFNAME_IFINDEX_WITH_PERCENT))
-                assert(snprintf_ok(buf, IF_NAMESIZE, "%%%d", ifindex));
-        else
-                assert(snprintf_ok(buf, IF_NAMESIZE, "%d", ifindex));
-
-        return 0;
-}
-
-int format_ifname_full_alloc(int ifindex, FormatIfnameFlag flag, char **ret) {
-        char buf[IF_NAMESIZE];
-        int r;
-
-        assert(ret);
-
-        r = format_ifname_full(ifindex, flag, buf);
-        if (r < 0)
-                return r;
-
-        return strdup_to(ret, buf);
-}
-
 char* format_bytes_full(char *buf, size_t l, uint64_t t, FormatBytesFlag flag) {
         typedef struct {
                 const char *suffix;
index 4a030b75571cbe3830c8bb4877a8086bdf8f14c4..b528c005ca63beba8b1464b3dadcd0ee6bf115fb 100644 (file)
@@ -2,7 +2,6 @@
 #pragma once
 
 #include <inttypes.h>
-#include <net/if.h>
 #include <stdbool.h>
 
 #include "cgroup-util.h"
@@ -66,29 +65,6 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t));
 #  error Unknown ino_t size
 #endif
 
-typedef enum {
-        FORMAT_IFNAME_IFINDEX              = 1 << 0,
-        FORMAT_IFNAME_IFINDEX_WITH_PERCENT = (1 << 1) | FORMAT_IFNAME_IFINDEX,
-} FormatIfnameFlag;
-
-int format_ifname_full(int ifindex, FormatIfnameFlag flag, char buf[static IF_NAMESIZE]);
-int format_ifname_full_alloc(int ifindex, FormatIfnameFlag flag, char **ret);
-
-static inline int format_ifname(int ifindex, char buf[static IF_NAMESIZE]) {
-        return format_ifname_full(ifindex, 0, buf);
-}
-static inline int format_ifname_alloc(int ifindex, char **ret) {
-        return format_ifname_full_alloc(ifindex, 0, ret);
-}
-
-static inline char* _format_ifname_full(int ifindex, FormatIfnameFlag flag, char buf[static IF_NAMESIZE]) {
-        (void) format_ifname_full(ifindex, flag, buf);
-        return buf;
-}
-
-#define FORMAT_IFNAME_FULL(index, flag) _format_ifname_full(index, flag, (char[IF_NAMESIZE]){})
-#define FORMAT_IFNAME(index) _format_ifname_full(index, 0, (char[IF_NAMESIZE]){})
-
 typedef enum {
         FORMAT_BYTES_USE_IEC     = 1 << 0,
         FORMAT_BYTES_BELOW_POINT = 1 << 1,
index 5b62fe90bcb4846795c36aa462ef7be0b01e687b..4f83eb67a057250f8e247170611ae30922dc7f9f 100644 (file)
@@ -33,6 +33,7 @@ basic_sources = files(
         'fd-util.c',
         'fileio.c',
         'filesystems.c',
+        'format-ifname.c',
         'format-util.c',
         'fs-util.c',
         'gcrypt-util.c',
index e4fb5a280cb97cad82ef61062aee412771663dbb..94089323b45fc81c7e8bf72795aa37847b8a9e0b 100644 (file)
@@ -21,7 +21,7 @@
 #include "escape.h"
 #include "fd-util.h"
 #include "fileio.h"
-#include "format-util.h"
+#include "format-ifname.h"
 #include "io-util.h"
 #include "log.h"
 #include "memory-util.h"
index b639e9ca5a2019338185302ca886f9c501ecf75e..8a0abe8fe8bf7082961b7dca76933de2bba254bc 100644 (file)
@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 
 #include "env-util.h"
-#include "format-util.h"
+#include "format-ifname.h"
 #include "network-common.h"
 #include "socket-util.h"
 #include "unaligned.h"
index 934cfb27742149a853ebf9f6de7962e3823c8bba..92d8826f3a60fe8abc1755c751c49f6f72b34dba 100644 (file)
@@ -32,6 +32,7 @@
 #include "edit-util.h"
 #include "env-util.h"
 #include "fd-util.h"
+#include "format-ifname.h"
 #include "format-table.h"
 #include "hostname-util.h"
 #include "import-util.h"
index d8022eb3f0480c2c9855662ffa7e87b4e2faa5a0..1e497a5747c19e181f3fea27095620601b732453 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 
-#include "format-util.h"
+#include "format-ifname.h"
 #include "in-addr-util.h"
 #include "local-addresses.h"
 #include "networkctl-dump-util.h"
index 7a14bffc5beb3c3bd8813b5c842d3deb63b24231..8e1fbd88438458ca8962c78a09b60e1a7a5f4c61 100644 (file)
@@ -5,7 +5,7 @@
 #include "bus-error.h"
 #include "bus-locator.h"
 #include "fd-util.h"
-#include "format-util.h"
+#include "format-ifname.h"
 #include "netlink-util.h"
 #include "networkctl.h"
 #include "networkctl-misc.h"
index 303007a9de681a8c49d0f173caf11cf29eda97fa..b464ea8405547dc5933e3b97d0aab36b2c206796 100644 (file)
@@ -24,7 +24,7 @@
 #include "event-util.h"
 #include "fd-util.h"
 #include "fileio.h"
-#include "format-util.h"
+#include "format-ifname.h"
 #include "fs-util.h"
 #include "glyph-util.h"
 #include "logarithm.h"
index a8ab7f53dee706aa2ea46a893bd15281988b3c7a..3097611d98bca551dd35e76d4be895f629a0c4af 100644 (file)
@@ -3,7 +3,7 @@
 #include "sd-network.h"
 
 #include "alloc-util.h"
-#include "format-util.h"
+#include "format-ifname.h"
 #include "hashmap.h"
 #include "link.h"
 #include "manager.h"
index ac088e6c7fdc5fb58fc7308acc82307f54e77881..892eaf3b57d74e9b3da2b19817dfecd66e58a449 100644 (file)
@@ -3,6 +3,7 @@
 #include <fcntl.h>
 #include <linux/nsfs.h>
 #include <linux/veth.h>
+#include <net/if.h>
 #include <sys/eventfd.h>
 #include <sys/stat.h>
 #include <sys/wait.h>
index 81b5a193f72db0a391e2922c223ff8e4b3b8de95..1fa62a4df78ff50be91b61a4652ff57c9740e3a1 100644 (file)
@@ -20,8 +20,8 @@
 #include "dns-domain.h"
 #include "errno-list.h"
 #include "escape.h"
+#include "format-ifname.h"
 #include "format-table.h"
-#include "format-util.h"
 #include "gcrypt-util.h"
 #include "hostname-util.h"
 #include "json-util.h"
index f80f9dff8aa3bd7286dc1bce1b73242e28f98399..1310bd5f8b690d3828fffdc95e4a02ee11afbdfa 100644 (file)
@@ -5,7 +5,7 @@
 #include "af-list.h"
 #include "alloc-util.h"
 #include "dns-domain.h"
-#include "format-util.h"
+#include "format-ifname.h"
 #include "resolved-dns-answer.h"
 #include "resolved-dns-cache.h"
 #include "resolved-dns-packet.h"
index 4cf4b67f6db161890ec932241e7cf87ea36fb6d4..f5ef7175a324fd07aacbe448c1045d7817b5c7f3 100644 (file)
@@ -10,6 +10,7 @@
 #include "devnum-util.h"
 #include "fd-util.h"
 #include "fileio.h"
+#include "format-ifname.h"
 #include "format-table.h"
 #include "format-util.h"
 #include "fs-util.h"
index 2f1810d93be9b5fbad93ef368d5e2f272bb7a62f..6744d7068a9f6619564a3bf1042fa3459c057381 100644 (file)
@@ -9,7 +9,7 @@
 #include "dlfcn-util.h"
 #include "env-util.h"
 #include "errno-list.h"
-#include "format-util.h"
+#include "format-ifname.h"
 #include "hexdecoct.h"
 #include "hostname-util.h"
 #include "in-addr-util.h"