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:19:08 +0000 (15:19 +0200)
AUTHORS
src/ftdi.c

diff --git a/AUTHORS b/AUTHORS
index b0f7e42..9a507fa 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -38,6 +38,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>
   Vladimir Yakovlev <nagos@inbox.ru>
   Wilfried Holzke <libftdi@holzke.net>
index bb40984..41496ee 100644 (file)
@@ -1956,7 +1956,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;
 }