X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev%2Flib%2Ftest-libudev.c;h=7795f5f0fba2a165fa5659fb76ca8b85ecdbba45;hp=1e9469d1c52b83388e7576a7de70745940dc85fc;hb=4ad3a37f50ed3af4158cd0d0badbd146eb8e3500;hpb=17fcfb5972977b6a3aedca6ad2aa8d1fbfbc761d;ds=sidebyside diff --git a/udev/lib/test-libudev.c b/udev/lib/test-libudev.c index 1e9469d1c..7795f5f0f 100644 --- a/udev/lib/test-libudev.c +++ b/udev/lib/test-libudev.c @@ -86,6 +86,23 @@ static int test_device(struct udev *udev, const char *devpath) return 0; } +static int test_device_parents(struct udev *udev, const char *devpath) +{ + struct udev_device *device; + + printf("looking at device: %s\n", devpath); + device = udev_device_new_from_devpath(udev, devpath); + while (device != NULL) { + struct udev_device *device_parent; + + print_device(device); + device_parent = udev_device_new_from_parent(device); + udev_device_unref(device); + device = device_parent; + } + return 0; +} + static int devices_enum_cb(struct udev *udev, const char *devpath, const char *subsystem, const char *name, void *data) @@ -184,6 +201,7 @@ int main(int argc, char *argv[], char *envp[]) printf("dev_path: '%s'\n", str); test_device(udev, devpath); + test_device_parents(udev, devpath); test_enumerate(udev, subsystem); test_monitor(udev, socket);