]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network/netdev: split out netdev_attach_name_full()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 27 Oct 2024 14:02:50 +0000 (23:02 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 29 Oct 2024 18:07:32 +0000 (03:07 +0900)
No functional change, preparation for later commits.

src/network/netdev/netdev.c

index 8e58a1ae123ed6d5c2e07fdcb649a5c19f485471..965b218a068093d946b13e0c04d0cd427d3f1548 100644 (file)
@@ -273,18 +273,17 @@ void netdev_drop(NetDev *netdev) {
         netdev_detach(netdev);
 }
 
-int netdev_attach_name(NetDev *netdev, const char *name) {
+static int netdev_attach_name_full(NetDev *netdev, const char *name, Hashmap **netdevs) {
         int r;
 
         assert(netdev);
-        assert(netdev->manager);
         assert(name);
 
-        r = hashmap_ensure_put(&netdev->manager->netdevs, &string_hash_ops, name, netdev);
+        r = hashmap_ensure_put(netdevs, &string_hash_ops, name, netdev);
         if (r == -ENOMEM)
                 return log_oom();
         if (r == -EEXIST) {
-                NetDev *n = hashmap_get(netdev->manager->netdevs, name);
+                NetDev *n = hashmap_get(*netdevs, name);
 
                 assert(n);
                 if (!streq(netdev->filename, n->filename))
@@ -299,6 +298,13 @@ int netdev_attach_name(NetDev *netdev, const char *name) {
         return 0;
 }
 
+int netdev_attach_name(NetDev *netdev, const char *name) {
+        assert(netdev);
+        assert(netdev->manager);
+
+        return netdev_attach_name_full(netdev, name, &netdev->manager->netdevs);
+}
+
 static int netdev_attach(NetDev *netdev) {
         int r;