do not use NULL usb contexts to make libusb-pbatard work on windows

master
Dimitri Stolnikov 12 years ago
parent 6335b37668
commit df4991bc19
  1. 14
      src/rtl-sdr.c

@ -559,14 +559,15 @@ rtlsdr_device_t *find_known_device(uint16_t vid, uint16_t pid)
uint32_t rtlsdr_get_device_count(void)
{
int i;
libusb_context *ctx;
libusb_device **list;
uint32_t device_count = 0;
struct libusb_device_descriptor dd;
ssize_t cnt;
libusb_init(NULL);
libusb_init(&ctx);
cnt = libusb_get_device_list(NULL, &list);
cnt = libusb_get_device_list(ctx, &list);
for (i = 0; i < cnt; i++) {
libusb_get_device_descriptor(list[i], &dd);
@ -577,7 +578,7 @@ uint32_t rtlsdr_get_device_count(void)
libusb_free_device_list(list, 0);
libusb_exit(NULL);
libusb_exit(ctx);
return device_count;
}
@ -585,15 +586,16 @@ uint32_t rtlsdr_get_device_count(void)
const char *rtlsdr_get_device_name(uint32_t index)
{
int i;
libusb_context *ctx;
libusb_device **list;
struct libusb_device_descriptor dd;
rtlsdr_device_t *device = NULL;
uint32_t device_count = 0;
ssize_t cnt;
libusb_init(NULL);
libusb_init(&ctx);
cnt = libusb_get_device_list(NULL, &list);
cnt = libusb_get_device_list(ctx, &list);
for (i = 0; i < cnt; i++) {
libusb_get_device_descriptor(list[i], &dd);
@ -610,7 +612,7 @@ const char *rtlsdr_get_device_name(uint32_t index)
libusb_free_device_list(list, 0);
libusb_exit(NULL);
libusb_exit(ctx);
if (device)
return device->name;

Loading…
Cancel
Save