From: Zbigniew Jędrzejewski-Szmek Date: Sun, 9 Jul 2023 17:47:28 +0000 (-0600) Subject: sd-device: simplify code flow X-Git-Tag: v255-rc1~908^2~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=09ace4c76d8be4ed0292d3642062aaadd90d8957;p=thirdparty%2Fsystemd.git sd-device: simplify code flow This function was written as if it wanted to do some cleanup after exiting from the loop, but that never happened. --- diff --git a/src/libsystemd/sd-device/device-enumerator.c b/src/libsystemd/sd-device/device-enumerator.c index e072d976d38..766fadd22c5 100644 --- a/src/libsystemd/sd-device/device-enumerator.c +++ b/src/libsystemd/sd-device/device-enumerator.c @@ -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) {