fixes the possibility of using a broken timercmp on Windows
authorPete Batard <pbatard@gmail.com>
Tue, 1 Jun 2010 10:38:14 +0000 (11:38 +0100)
committerDaniel Drake <dan@reactivated.net>
Fri, 4 Jun 2010 00:32:16 +0000 (19:32 -0500)
Microsoft's implementation of timercmp does not work for >= or <=.

libusb/io.c

index b38a7c7..05f1614 100644 (file)
@@ -2155,7 +2155,7 @@ API_EXPORTED int libusb_get_next_timeout(libusb_context *ctx,
        }
        TIMESPEC_TO_TIMEVAL(&cur_tv, &cur_ts);
 
-       if (timercmp(&cur_tv, next_timeout, >=)) {
+       if (!timercmp(&cur_tv, next_timeout, <)) {
                usbi_dbg("first timeout already expired");
                timerclear(tv);
        } else {