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
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ fprint mailing list [email protected] http://lists.reactivated.net/mailman/listinfo/fprint
