chiark / gitweb /
sd-device: get_properties_{nulstr,strv} - don't recreate the buffer unnecessarily
authorTom Gundersen <teg@jklm.no>
Fri, 3 Apr 2015 19:05:42 +0000 (21:05 +0200)
committerSven Eden <yamakuzure@gmx.net>
Tue, 14 Mar 2017 06:48:25 +0000 (07:48 +0100)
src/libelogind/sd-device/device-private.c

index f6beef84949bb6bbd406240e6670c81e308578b7..544b837b12f6c378c13dbabc86c70c5559dab4ce 100644 (file)
@@ -641,6 +641,9 @@ static int device_update_properties_bufs(sd_device *device) {
 
         assert(device);
 
+        if (!device->properties_buf_outdated)
+                return 0;
+
         FOREACH_DEVICE_PROPERTY(device, prop, val) {
                 size_t len = 0;
 
@@ -677,11 +680,9 @@ int device_get_properties_nulstr(sd_device *device, const uint8_t **nulstr, size
         assert(nulstr);
         assert(len);
 
-        if (device->properties_buf_outdated) {
-                r = device_update_properties_bufs(device);
-                if (r < 0)
-                        return r;
-        }
+        r = device_update_properties_bufs(device);
+        if (r < 0)
+                return r;
 
         *nulstr = device->properties_nulstr;
         *len = device->properties_nulstr_len;