From 9bdcffd738f9170bda7a962affcf5d42381748e0 Mon Sep 17 00:00:00 2001 From: Thomas de Grenier de Latour Date: Wed, 30 Dec 2009 16:21:59 +0100 Subject: [PATCH] libudev: enumerate - fix move_later logic The move_later_prefix variable was reset to zero on each loop iteration, and thus the move_later entry (if any) was not added right after changing to another syspath prefix, but rather after exiting the enumeration loop. --- libudev/libudev-enumerate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libudev/libudev-enumerate.c b/libudev/libudev-enumerate.c index 53cd53b6..9a61a61f 100644 --- a/libudev/libudev-enumerate.c +++ b/libudev/libudev-enumerate.c @@ -251,6 +251,7 @@ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enumerate *ude unsigned int i; unsigned int max; struct syspath *prev = NULL, *move_later = NULL; + size_t move_later_prefix = 0; udev_list_cleanup_entries(udev_enumerate->udev, &udev_enumerate->devices_list); qsort(udev_enumerate->devices, udev_enumerate->devices_cur, sizeof(struct syspath), syspath_cmp); @@ -258,7 +259,6 @@ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enumerate *ude max = udev_enumerate->devices_cur; for (i = 0; i < max; i++) { struct syspath *entry = &udev_enumerate->devices[i]; - size_t move_later_prefix = 0; /* skip duplicated entries */ if (prev != NULL && -- 2.39.5