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 */
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;
if (len == 0)
sysnum = NULL;
- device->sysname_set = true;
device->sysnum = sysnum;
return free_and_replace(device->sysname, sysname);
}
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;
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;
}