Here's a patch to fix compilation issues of latest libfprint from git.
I'm not sure if I pass correct  2nd parameter to the 
libusb_get_config_descriptor in uru4000.c, so, Daniel, please check it ;)

Regards
Vasily
From 74f6c9494693ef6b5b2d1f4b213a715f66bad94a Mon Sep 17 00:00:00 2001
From: Vasily Khoruzhick <[EMAIL PROTECTED]>
Date: Tue, 13 May 2008 01:24:05 +0300
Subject: [PATCH] Adapting to latest libusb-1.0 changes


Signed-off-by: Vasily Khoruzhick <[EMAIL PROTECTED]>
---
 libfprint/core.c            |   12 +++++++++---
 libfprint/drivers/uru4000.c |    6 +++++-
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/libfprint/core.c b/libfprint/core.c
index f0c2629..2b57ca7 100644
--- a/libfprint/core.c
+++ b/libfprint/core.c
@@ -356,16 +356,22 @@ static void register_drivers(void)
 static struct fp_driver *find_supporting_driver(libusb_device *udev,
 	const struct usb_id **usb_id)
 {
+	int ret;
 	GSList *elem = registered_drivers;
-	const struct libusb_device_descriptor *dsc =
-		libusb_get_device_descriptor(udev);
+	struct libusb_device_descriptor dsc;
+
+	ret = libusb_get_device_descriptor(udev, &dsc);
+	if (ret < 0) {
+		fp_err("Failed to get device descriptor");
+		return NULL;
+	}
 	
 	do {
 		struct fp_driver *drv = elem->data;
 		const struct usb_id *id;
 
 		for (id = drv->id_table; id->vendor; id++)
-			if (dsc->idVendor == id->vendor && dsc->idProduct == id->product) {
+			if (dsc.idVendor == id->vendor && dsc.idProduct == id->product) {
 				fp_dbg("driver %s supports USB device %04x:%04x",
 					drv->name, id->vendor, id->product);
 				*usb_id = id;
diff --git a/libfprint/drivers/uru4000.c b/libfprint/drivers/uru4000.c
index dc6da21..b303627 100644
--- a/libfprint/drivers/uru4000.c
+++ b/libfprint/drivers/uru4000.c
@@ -1115,7 +1115,11 @@ static int dev_init(struct fp_img_dev *dev, unsigned long driver_data)
 	int r;
 
 	/* Find fingerprint interface */
-	config = libusb_get_config_descriptor(libusb_get_device(dev->udev));
+	r = libusb_get_config_descriptor(libusb_get_device(dev->udev), 0, &config);
+	if (r < 0) {
+		fp_err("Failed to get config decriptor");
+		return r;
+	}
 	for (i = 0; i < config->bNumInterfaces; i++) {
 		const struct libusb_interface *cur_iface = &config->interface[i];
 
-- 
1.5.5.1

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
fprint mailing list
[email protected]
http://lists.reactivated.net/mailman/listinfo/fprint

Reply via email to