libusb_get_device_list() can return negative error code
diff --git a/examples/lsusb.c b/examples/lsusb.c
index 193b23a..509e0bd 100644
--- a/examples/lsusb.c
+++ b/examples/lsusb.c
@@ -18,6 +18,7 @@
  */
 
 #include <stdio.h>
+#include <sys/types.h>
 
 #include <libusb/libusb.h>
 
@@ -39,7 +40,7 @@
 {
 	libusb_device **devs;
 	int r;
-	size_t cnt;
+	ssize_t cnt;
 
 	r = libusb_init();
 	if (r < 0)