Hello,

attached is a little patch that prohibits libftdi from compiling against
libusb-compat-0.1 (the wrapper that provides a libusb-0.1 compatible api
for systems with libusb-1.0) when libftdi is configured with async mode.

unfortunately fixing async mode for libusb-1.0+libusb-compat-0.1 is not
trivial because libusb-1.0 comes with an os abstraction layer that hides
the unix filedescriptor much deeper in internal structures. but failing to
build is imo much better than segfaulting at runtime.

yours,
 - clifford

PS: The USB_CLASS_PTP define is not present in any libusb-0.1 release
and has been added to libusb-compat-0.1 only afaics.

-- 
Never underestimate the bandwidth of a pickup full of magnetic tapes.


--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to [email protected]   
diff --git a/src/ftdi.c b/src/ftdi.c
index c417f70..2c80b73 100644
--- a/src/ftdi.c
+++ b/src/ftdi.c
@@ -969,6 +969,9 @@ int ftdi_write_data(struct ftdi_context *ftdi, unsigned 
char *buf, int size)
 }
 
 #ifdef LIBFTDI_LINUX_ASYNC_MODE
+#ifdef USB_CLASS_PTP
+#error LIBFTDI_LINUX_ASYNC_MODE is not compatible with libusb-compat-0.1!
+#endif
 /* this is strongly dependent on libusb using the same struct layout. If libusb
    changes in some later version this may break horribly (this is for libusb 
0.1.12) */
 struct usb_dev_handle

Reply via email to