]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-device: simplify code flow
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 9 Jul 2023 17:47:28 +0000 (11:47 -0600)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 13 Jul 2023 09:12:00 +0000 (11:12 +0200)
This function was written as if it wanted to do some cleanup after exiting from
the loop, but that never happened.

src/libsystemd/sd-device/device-enumerator.c

index e072d976d3856928b580374d9aa28981501c9fe8..766fadd22c536b9a069b27e58976ba5706ea79d8 100644 (file)
@@ -613,38 +613,30 @@ static int enumerator_add_parent_devices(
                 sd_device *device,
                 MatchFlag flags) {
 
-        int k, r = 0;
+        int r;
 
         assert(enumerator);
         assert(device);
 
         for (;;) {
-                k = sd_device_get_parent(device, &device);
-                if (k == -ENOENT) /* Reached the top? */
-                        break;
-                if (k < 0) {
-                        r = k;
-                        break;
-                }
+                r = sd_device_get_parent(device, &device);
+                if (r == -ENOENT) /* Reached the top? */
+                        return 0;
+                if (r < 0)
+                        return r;
 
-                k = test_matches(enumerator, device, flags);
-                if (k < 0) {
-                        r = k;
-                        break;
-                }
-                if (k == 0)
+                r = test_matches(enumerator, device, flags);
+                if (r < 0)
+                        return r;
+                if (r == 0)
                         continue;
 
-                k = device_enumerator_add_device(enumerator, device);
-                if (k < 0) {
-                        r = k;
-                        break;
-                }
-                if (k == 0) /* Exists already? Then no need to go further up. */
-                        break;
+                r = device_enumerator_add_device(enumerator, device);
+                if (r < 0)
+                        return r;
+                if (r == 0) /* Exists already? Then no need to go further up. */
+                        return 0;
         }
-
-        return r;
 }
 
 int device_enumerator_add_parent_devices(sd_device_enumerator *enumerator, sd_device *device) {