Correct ftdi_poll_modem_status() result code
authorThomas Jarosch <thomas.jarosch@intra2net.com>
Fri, 6 May 2011 13:17:13 +0000 (15:17 +0200)
committerThomas Jarosch <thomas.jarosch@intra2net.com>
Fri, 6 May 2011 13:17:13 +0000 (15:17 +0200)
AUTHORS
src/ftdi.c

diff --git a/AUTHORS b/AUTHORS
index f8463e4..d96a319 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -37,6 +37,7 @@ see Changelog for full details:
   Thimo Eichstaedt <abc@digithi.de>
   Thomas Fischl <fischl@fundf.net>
   Tim Ansell <mithro@mithis.com>
+  Tom Saunders <trsaunders@gmail.com>
   Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
   Wilfried Holzke <libftdi@holzke.net>
   Yi-Shin Li <ysli@araisrobo.com>
index c7856a4..c53d7aa 100644 (file)
@@ -1984,7 +1984,7 @@ int ftdi_poll_modem_status(struct ftdi_context *ftdi, unsigned short *status)
     if (libusb_control_transfer(ftdi->usb_dev, FTDI_DEVICE_IN_REQTYPE, SIO_POLL_MODEM_STATUS_REQUEST, 0, ftdi->index, (unsigned char *)usb_val, 2, ftdi->usb_read_timeout) != 2)
         ftdi_error_return(-1, "getting modem status failed");
 
-    *status = (usb_val[1] << 8) | usb_val[0];
+    *status = (usb_val[1] << 8) | (usb_val[0] & 0xFF);
 
     return 0;
 }