From: anthisfan Date: Sun, 21 Sep 2025 12:39:35 +0000 (+0900) Subject: sd-device: use RET_GATHER() in device_tag_index() (#39053) X-Git-Tag: v259-rc1~481 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9b89aee4afa10c19b8109bdfa50abdc297e249a3;p=thirdparty%2Fsystemd.git sd-device: use RET_GATHER() in device_tag_index() (#39053) Replace manual error collection with RET_GATHER() macro. --- diff --git a/src/libsystemd/sd-device/device-private.c b/src/libsystemd/sd-device/device-private.c index 9896e0e7ac4..2d5ea9cd501 100644 --- a/src/libsystemd/sd-device/device-private.c +++ b/src/libsystemd/sd-device/device-private.c @@ -10,6 +10,7 @@ #include "device-internal.h" #include "device-private.h" #include "device-util.h" +#include "errno-util.h" #include "extract-word.h" #include "fd-util.h" #include "fileio.h" @@ -743,22 +744,16 @@ static int device_tag(sd_device *device, const char *tag, bool add) { } int device_tag_index(sd_device *device, sd_device *device_old, bool add) { - int r = 0, k; + int r = 0; if (add && device_old) /* delete possible left-over tags */ FOREACH_DEVICE_TAG(device_old, tag) - if (!sd_device_has_tag(device, tag)) { - k = device_tag(device_old, tag, false); - if (r >= 0 && k < 0) - r = k; - } - - FOREACH_DEVICE_TAG(device, tag) { - k = device_tag(device, tag, add); - if (r >= 0 && k < 0) - r = k; - } + if (!sd_device_has_tag(device, tag)) + RET_GATHER(r, device_tag(device_old, tag, false)); + + FOREACH_DEVICE_TAG(device, tag) + RET_GATHER(r, device_tag(device, tag, add)); return r; }