From 3f709d07c51e2c9b7a58f51d860076d6a3b5b7cf Mon Sep 17 00:00:00 2001 From: Hans Petter Selasky Date: Sat, 3 Dec 2011 16:30:47 +0000 Subject: [PATCH] Simplify libusb_open_device_with_vid_pid(): Only set pdev to non-NULL on success instead of unconditonally setting it and maybe resetting it later. Submitted by: Christoph Mallon MFC after: 3 days --- lib/libusb/libusb10.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/libusb/libusb10.c b/lib/libusb/libusb10.c index f1b95d68b265..0be318a10381 100644 --- a/lib/libusb/libusb10.c +++ b/lib/libusb/libusb10.c @@ -417,9 +417,12 @@ libusb_open_device_with_vid_pid(libusb_context *ctx, uint16_t vendor_id, if ((i = libusb_get_device_list(ctx, &devs)) < 0) return (NULL); + pdev = NULL; for (j = 0; j < i; j++) { - pdev = devs[j]->os_priv; - pdesc = libusb20_dev_get_device_desc(pdev); + struct libusb20_device *tdev; + + tdev = devs[j]->os_priv; + pdesc = libusb20_dev_get_device_desc(tdev); /* * NOTE: The USB library will automatically swap the * fields in the device descriptor to be of host @@ -431,8 +434,6 @@ libusb_open_device_with_vid_pid(libusb_context *ctx, uint16_t vendor_id, break; } } - if (j == i) - pdev = NULL; libusb_free_device_list(devs, 1); DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid leave");