mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-19 21:03:48 -07:00
CHG: compiler warning about not using fscanf return value.
This commit is contained in:
parent
57e1e31dce
commit
6795b3da93
1 changed files with 58 additions and 52 deletions
|
@ -111,70 +111,76 @@ void ReceiveCommand(UsbCommand *c)
|
||||||
|
|
||||||
usb_dev_handle* findProxmark(int verbose, unsigned int *iface)
|
usb_dev_handle* findProxmark(int verbose, unsigned int *iface)
|
||||||
{
|
{
|
||||||
struct usb_bus *busses, *bus;
|
struct usb_bus *busses, *bus;
|
||||||
usb_dev_handle *handle = NULL;
|
usb_dev_handle *handle = NULL;
|
||||||
struct prox_unit units[50];
|
struct prox_unit units[50];
|
||||||
int iUnit = 0;
|
int iUnit = 0;
|
||||||
|
|
||||||
usb_find_busses();
|
usb_find_busses();
|
||||||
usb_find_devices();
|
usb_find_devices();
|
||||||
|
|
||||||
busses = usb_get_busses();
|
busses = usb_get_busses();
|
||||||
|
|
||||||
for (bus = busses; bus; bus = bus->next) {
|
for (bus = busses; bus; bus = bus->next) {
|
||||||
struct usb_device *dev;
|
struct usb_device *dev;
|
||||||
|
|
||||||
for (dev = bus->devices; dev; dev = dev->next) {
|
|
||||||
struct usb_device_descriptor *desc = &(dev->descriptor);
|
|
||||||
|
|
||||||
if ((desc->idProduct == 0x4b8f) && (desc->idVendor == 0x9ac4)) {
|
for (dev = bus->devices; dev; dev = dev->next) {
|
||||||
handle = usb_open(dev);
|
struct usb_device_descriptor *desc = &(dev->descriptor);
|
||||||
if (!handle) {
|
|
||||||
if (verbose)
|
|
||||||
fprintf(stderr, "open fabiled: %s!\n", usb_strerror());
|
|
||||||
//return NULL;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
*iface = dev->config[0].interface[0].altsetting[0].bInterfaceNumber;
|
|
||||||
|
|
||||||
struct prox_unit unit = {handle, {0}};
|
if ((desc->idProduct == 0x4b8f) && (desc->idVendor == 0x9ac4)) {
|
||||||
usb_get_string_simple(handle, desc->iSerialNumber, unit.serial_number, sizeof(unit.serial_number));
|
handle = usb_open(dev);
|
||||||
units[iUnit++] = unit;
|
if (!handle) {
|
||||||
|
if (verbose)
|
||||||
|
fprintf(stderr, "open fabiled: %s!\n", usb_strerror());
|
||||||
|
//return NULL;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
*iface = dev->config[0].interface[0].altsetting[0].bInterfaceNumber;
|
||||||
|
|
||||||
//return handle;
|
struct prox_unit unit = {handle, {0}};
|
||||||
}
|
usb_get_string_simple(handle, desc->iSerialNumber, unit.serial_number, sizeof(unit.serial_number));
|
||||||
}
|
units[iUnit++] = unit;
|
||||||
}
|
|
||||||
|
|
||||||
if (iUnit > 0) {
|
//return handle;
|
||||||
int iSelection = 0;
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fprintf(stdout, "\nConnected units:\n");
|
if (iUnit > 0) {
|
||||||
|
int iSelection = 0;
|
||||||
|
|
||||||
for (int i = 0; i < iUnit; i++) {
|
fprintf(stdout, "\nConnected units:\n");
|
||||||
struct usb_device * dev = usb_device(units[i].handle);
|
|
||||||
fprintf(stdout, "\t%d. SN: %s [%s/%s]\n", i+1, units[i].serial_number, dev->bus->dirname, dev->filename);
|
|
||||||
}
|
|
||||||
if (iUnit > 1) {
|
|
||||||
while (iSelection < 1 || iSelection > iUnit) {
|
|
||||||
fprintf(stdout, "Which unit do you want to connect to? ");
|
|
||||||
fscanf(stdin, "%d", &iSelection);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
iSelection = 1;
|
|
||||||
iSelection --;
|
|
||||||
|
|
||||||
for (int i = 0; i < iUnit; i++) {
|
for (int i = 0; i < iUnit; i++) {
|
||||||
if (iSelection == i) continue;
|
struct usb_device * dev = usb_device(units[i].handle);
|
||||||
usb_close(units[i].handle);
|
fprintf(stdout, "\t%d. SN: %s [%s/%s]\n", i+1, units[i].serial_number, dev->bus->dirname, dev->filename);
|
||||||
units[i].handle = NULL;
|
}
|
||||||
}
|
if (iUnit > 1) {
|
||||||
|
while (iSelection < 1 || iSelection > iUnit) {
|
||||||
|
fprintf(stdout, "Which unit do you want to connect to? ");
|
||||||
|
int res = fscanf(stdin, "%d", &iSelection);
|
||||||
|
if ( res != 1 ) {
|
||||||
|
fprintf(stderr, "Input parse error");
|
||||||
|
fflush(stderr);
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
iSelection = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
iSelection --;
|
||||||
|
|
||||||
return units[iSelection].handle;
|
for (int i = 0; i < iUnit; i++) {
|
||||||
}
|
if (iSelection == i) continue;
|
||||||
|
usb_close(units[i].handle);
|
||||||
|
units[i].handle = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
return NULL;
|
return units[iSelection].handle;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
usb_dev_handle* OpenProxmark(int verbose)
|
usb_dev_handle* OpenProxmark(int verbose)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue