From e380194881264c59cf94ba92f65b5dfc0d195e65 Mon Sep 17 00:00:00 2001 From: Manuel Domke Date: Thu, 26 Jul 2018 09:20:35 +0200 Subject: [PATCH] untested fix for --list-devices (no device at hand to test right now..) --- software/infnoise.c | 9 ++++----- software/libinfnoise.c | 20 ++++++++++---------- software/libinfnoise.h | 2 +- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/software/infnoise.c b/software/infnoise.c index 6dab5d5..0e323cc 100644 --- a/software/infnoise.c +++ b/software/infnoise.c @@ -225,12 +225,12 @@ int main(int argc, char **argv) { char *message = "no data?"; bool errorFlag = false; if (opts.listDevices) { - devlist_node *devlist = listUSBDevices(&message); - devlist_node *curdev; + devlist_node devlist = listUSBDevices(&message); + devlist_node curdev; uint8_t i=0; for (curdev = devlist; curdev != NULL;i++) { - printf("Manufacturer: %s, Description: %s, Serial: %s\n", curdev->manufacturer, curdev.description, - curdev.serial); + printf("Manufacturer: %s, Description: %s, Serial: %s\n", curdev->manufacturer, curdev->description, + curdev->serial); curdev = curdev->next; } //fputs(message, stdout); // TODO: iterate through infnoise_devlist and print stuff @@ -259,7 +259,6 @@ int main(int argc, char **argv) { // Optionally run in the background and optionally write a PID-file startDaemon(&opts); - // initialize USB device, health check and Keccak state (see libinfnoise) if (!initInfnoise(&context, opts.serial, !opts.raw, opts.debug)) { fprintf(stderr, "Error: %s\n", context.message); diff --git a/software/libinfnoise.c b/software/libinfnoise.c index 326f04f..8d9d034 100644 --- a/software/libinfnoise.c +++ b/software/libinfnoise.c @@ -200,7 +200,7 @@ bool isSuperUser(void) { // Return a list of all infinite noise multipliers found. -devlist_node* listUSBDevices(char **message) { +devlist_node listUSBDevices(char **message) { struct ftdi_context ftdic; ftdi_init(&ftdic); @@ -220,20 +220,20 @@ devlist_node* listUSBDevices(char **message) { } } - devlist_node *return_list =NULL; + devlist_node return_list =NULL; devlist_node *current_entry =NULL; for (curdev = devlist; curdev != NULL; i++) { if (return_list == NULL) { - *return_list = (devlist_node) malloc(sizeof(struct infnoise_devlist_node)); - (*return_list)->id = i; - (*return_list)->serial = serial; - (*return_list)->manufacturer = manufacturer; - (*return_list)->description = description; - current_entry = return_list; + return_list = (devlist_node) malloc(sizeof(struct infnoise_devlist_node)); + return_list->id = i; + return_list->serial = serial; + return_list->manufacturer = manufacturer; + return_list->description = description; + *current_entry = return_list; } else { (*current_entry)->next = (devlist_node) malloc(sizeof(struct infnoise_devlist_node)); - current_entry = (*current_entry)->next; + *current_entry = (*current_entry)->next; (*current_entry)->id = i; (*current_entry)->serial = serial; (*current_entry)->manufacturer = manufacturer; @@ -251,7 +251,7 @@ devlist_node* listUSBDevices(char **message) { } // print to stdout - //printf("Manufacturer: %s, Description: %s, Serial: %s\n", manufacturer, description, serial); + printf("debug: Manufacturer: %s, Description: %s, Serial: %s\n", manufacturer, description, serial); curdev = curdev->next; //current_node = current_node->next; // ??? } diff --git a/software/libinfnoise.h b/software/libinfnoise.h index 267a1aa..26d867d 100644 --- a/software/libinfnoise.h +++ b/software/libinfnoise.h @@ -31,7 +31,7 @@ struct infnoise_devlist_node { typedef struct infnoise_devlist_node* devlist_node; -devlist_node* listUSBDevices(char** message); +devlist_node listUSBDevices(char** message); bool initInfnoise(struct infnoise_context *context, char *serial, bool keccak, bool debug);