return 0;
}
-int device_copy_properties(sd_device *device_dst, sd_device *device_src) {
- const char *property, *value;
- int r;
-
- assert(device_dst);
- assert(device_src);
-
- r = device_properties_prepare(device_src);
- if (r < 0)
- return r;
-
- ORDERED_HASHMAP_FOREACH_KEY(value, property, device_src->properties_db) {
- r = device_add_property_aux(device_dst, property, value, true);
- if (r < 0)
- return r;
- }
-
- ORDERED_HASHMAP_FOREACH_KEY(value, property, device_src->properties) {
- r = device_add_property_aux(device_dst, property, value, false);
- if (r < 0)
- return r;
- }
-
- return 0;
-}
-
void device_cleanup_tags(sd_device *device) {
assert(device);
int device_rename(sd_device *device, const char *name);
int device_shallow_clone(sd_device *device, sd_device **ret);
int device_clone_with_db(sd_device *device, sd_device **ret);
-int device_copy_properties(sd_device *device_dst, sd_device *device_src);
int device_tag_index(sd_device *dev, sd_device *dev_old, bool add);
int device_update_db(sd_device *device);
assert_se(sd_event_loop(sd_device_monitor_get_event(monitor_client)) == 100);
}
-static void test_device_copy_properties(sd_device *device) {
- _cleanup_(sd_device_unrefp) sd_device *copy = NULL;
-
- assert_se(device_shallow_clone(device, ©) >= 0);
- assert_se(device_copy_properties(copy, device) >= 0);
-
- test_send_receive_one(copy, false, false, false);
-}
-
int main(int argc, char *argv[]) {
_cleanup_(sd_device_unrefp) sd_device *loopback = NULL, *sda = NULL;
int r;
test_tag_filter(loopback);
test_sysattr_filter(loopback, "ifindex");
test_sd_device_monitor_filter_remove(loopback);
- test_device_copy_properties(loopback);
r = sd_device_new_from_subsystem_sysname(&sda, "block", "sda");
if (r < 0) {