From 09ace4c76d8be4ed0292d3642062aaadd90d8957 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 9 Jul 2023 11:47:28 -0600 Subject: [PATCH] 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. --- src/libsystemd/sd-device/device-enumerator.c | 38 ++++++++------------ 1 file changed, 15 insertions(+), 23 deletions(-) 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) { -- 2.47.3