CMake: bump the minimal required version to 3.5
[libftdi] / src / ftdi_stream.c
index 2ed39b3..4229d94 100644 (file)
@@ -3,6 +3,7 @@
                              -------------------
     copyright            : (C) 2009 Micah Dowty 2010 Uwe Bonnes
     email                : opensource@intra2net.com
+    SPDX-License-Identifier: (LGPL-2.1-only AND MIT)
  ***************************************************************************/
 
 /***************************************************************************
@@ -41,7 +42,9 @@
 
 #include <stdlib.h>
 #include <stdio.h>
+#ifndef _WIN32
 #include <sys/time.h>
+#endif
 #include <libusb.h>
 
 #include "ftdi.h"
@@ -170,9 +173,9 @@ ftdi_readstream(struct ftdi_context *ftdi,
     }
 
     /* Purge anything remaining in the buffers*/
-    if (ftdi_usb_purge_buffers(ftdi) < 0)
+    if (ftdi_tcioflush(ftdi) < 0)
     {
-        fprintf(stderr,"Can't Purge\n");
+        fprintf(stderr,"Can't flush FIFOs & buffers\n");
         return 1;
     }
 
@@ -238,7 +241,8 @@ ftdi_readstream(struct ftdi_context *ftdi,
     {
         FTDIProgressInfo  *progress = &state.progress;
         const double progressInterval = 1.0;
-        struct timeval timeout = { 0, ftdi->usb_read_timeout * 1000};
+        struct timeval timeout = { ftdi->usb_read_timeout / 1000,
+            (ftdi->usb_read_timeout % 1000) * 1000 };
         struct timeval now;
 
         int err = libusb_handle_events_timeout(ftdi->usb_ctx, &timeout);