mirror of
https://github.com/avrdudes/avrdude.git
synced 2026-06-02 09:46:34 +03:00
Match bus:device for usbtiny using str_busdev_eq()
This commit is contained in:
@@ -282,8 +282,7 @@ static int usbtiny_avr_op(const PROGRAMMER *pgm, const AVRPART *p, int op, unsig
|
||||
static int usbtiny_open(PROGRAMMER *pgm, const char *name) {
|
||||
struct usb_bus *bus;
|
||||
struct usb_device *dev = 0;
|
||||
const char *bus_name = NULL;
|
||||
char *dev_name = NULL;
|
||||
const char *bus_name = NULL, *dev_name = NULL;
|
||||
int vid, pid;
|
||||
|
||||
// If no -P was given or '-P usb' was given
|
||||
@@ -296,8 +295,6 @@ static int usbtiny_open(PROGRAMMER *pgm, const char *name) {
|
||||
if(str_starts(name, "usb") && ':' == name[usb_len]) {
|
||||
bus_name = name + usb_len + 1;
|
||||
dev_name = strchr(bus_name, ':');
|
||||
if(NULL != dev_name)
|
||||
*dev_name++ = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -322,13 +319,13 @@ static int usbtiny_open(PROGRAMMER *pgm, const char *name) {
|
||||
pid = USBTINY_PRODUCT_DEFAULT;
|
||||
}
|
||||
|
||||
// Now we iterate through all the buses and devices
|
||||
// Iterate through all the buses and devices
|
||||
for(bus = usb_busses; bus; bus = bus->next) {
|
||||
for(dev = bus->devices; dev; dev = dev->next) {
|
||||
if(dev->descriptor.idVendor == vid && dev->descriptor.idProduct == pid) { // Found match?
|
||||
pmsg_notice("found USBtiny with bus:device = %s:%s\n", bus->dirname, dev->filename);
|
||||
// If -P was given, match device by device name and bus name
|
||||
if(name != NULL && (NULL == dev_name || !str_eq(bus->dirname, bus_name) || !str_eq(dev->filename, dev_name)))
|
||||
if(name && (!dev_name || !str_busdev_eq(bus->dirname, bus_name) || !str_busdev_eq(dev->filename, dev_name)))
|
||||
continue;
|
||||
my.usb_handle = usb_open(dev); // Attempt to connect to device
|
||||
|
||||
|
||||
Reference in New Issue
Block a user