Lines Matching defs:discdevs
486 * returning new discdevs. returns NULL on realloc failure. */
488 struct discovered_devs *discdevs, struct libusb_device *dev)
490 size_t len = discdevs->len;
494 if (len < discdevs->capacity) {
495 discdevs->devices[len] = libusb_ref_device(dev);
496 discdevs->len++;
497 return discdevs;
502 capacity = discdevs->capacity + DISCOVERED_DEVICES_SIZE_STEP;
503 discdevs = realloc(discdevs,
504 sizeof(*discdevs) + (sizeof(void *) * capacity));
505 if (discdevs) {
506 discdevs->capacity = capacity;
507 discdevs->devices[len] = libusb_ref_device(dev);
508 discdevs->len++;
511 return discdevs;
514 static void discovered_devs_free(struct discovered_devs *discdevs)
518 for (i = 0; i < discdevs->len; i++)
519 libusb_unref_device(discdevs->devices[i]);
521 free(discdevs);
622 struct discovered_devs *discdevs = discovered_devs_alloc();
629 if (!discdevs)
632 r = usbi_backend->get_device_list(ctx, &discdevs);
639 len = discdevs->len;
648 struct libusb_device *dev = discdevs->devices[i];
654 discovered_devs_free(discdevs);