]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-device: drop sysname_set flag
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 9 Mar 2021 05:31:39 +0000 (14:31 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 30 Apr 2021 10:21:18 +0000 (19:21 +0900)
When device_set_sysname() succeeds, sysname is always set.

src/libsystemd/sd-device/device-internal.h
src/libsystemd/sd-device/sd-device.c

index 6776ab3aa7689e2bb1bd7effcff7d766999f0c82..73412db5de96eeaa317a2f7453729da2a14d7cfd 100644 (file)
@@ -84,7 +84,6 @@ struct sd_device {
         bool property_tags_outdated:1; /* need to update TAGS= or CURRENT_TAGS= property */
         bool property_devlinks_outdated:1; /* need to update DEVLINKS= property */
         bool properties_buf_outdated:1; /* need to reread hashmap */
-        bool sysname_set:1; /* don't reread sysname */
         bool subsystem_set:1; /* don't reread subsystem */
         bool driver_subsystem_set:1; /* don't reread subsystem */
         bool driver_set:1; /* don't reread driver */
index fbb5debff4a3ca00ce107e27f9e028c500cf389c..c51d6bffb064f14da7528e3a73e18f26b5f05b61 100644 (file)
@@ -986,7 +986,7 @@ _public_ int sd_device_get_devname(sd_device *device, const char **devname) {
         return 0;
 }
 
-static int device_set_sysname(sd_device *device) {
+static int device_set_sysname_and_sysnum(sd_device *device) {
         _cleanup_free_ char *sysname = NULL;
         const char *sysnum = NULL;
         const char *pos;
@@ -1023,7 +1023,6 @@ static int device_set_sysname(sd_device *device) {
         if (len == 0)
                 sysnum = NULL;
 
-        device->sysname_set = true;
         device->sysnum = sysnum;
         return free_and_replace(device->sysname, sysname);
 }
@@ -1033,14 +1032,12 @@ _public_ int sd_device_get_sysname(sd_device *device, const char **ret) {
 
         assert_return(device, -EINVAL);
 
-        if (!device->sysname_set) {
-                r = device_set_sysname(device);
+        if (!device->sysname) {
+                r = device_set_sysname_and_sysnum(device);
                 if (r < 0)
                         return r;
         }
 
-        assert_return(device->sysname, -ENOENT);
-
         if (ret)
                 *ret = device->sysname;
         return 0;
@@ -1051,8 +1048,8 @@ _public_ int sd_device_get_sysnum(sd_device *device, const char **ret) {
 
         assert_return(device, -EINVAL);
 
-        if (!device->sysname_set) {
-                r = device_set_sysname(device);
+        if (!device->sysname) {
+                r = device_set_sysname_and_sysnum(device);
                 if (r < 0)
                         return r;
         }