diff --git a/main.c b/main.c index 13539a4..e1cdf2f 100644 --- a/main.c +++ b/main.c @@ -278,16 +278,22 @@ int main(int argc, char* argv[]) } struct eismultiplexer multiplexer; - if(eismultiplexer_connect(&multiplexer, config.serialSet ? config.serial : 0)) + int ret = eismultiplexer_connect(&multiplexer, config.serialSet ? config.serial : 0); + if(ret) { char serialStr[5]; snprintf(serialStr, sizeof(serialStr), "%04hu", config.serial); printf("Can not connect to EISmultiplexer device%s%s\n", config.serialSet ? " with serial " : "", config.serialSet ? serialStr : ""); + if(config.verbose) + printf("eismultiplexer_connect ret %i\n", ret); return 1; } - int ret = 0; + if(config.verbose) + printf("eismultiplexer_connect ret %i\n", ret); + + ret = 0; if(config.interactive || config.pipe) { diff --git a/options.h b/options.h index 4295a0a..9c1d166 100644 --- a/options.h +++ b/options.h @@ -44,6 +44,7 @@ static struct argp_option options[] = {"pipe", 'p', 0, 0, "run in pipe mode" }, {"serial", 's', "[NUMBER]", 0, "serial number of device to connect to"}, {"list", 'l', 0, 0, "list commands"}, + {"verbose", 'v', 0, 0, "enable verbose debug prints"}, {0} }; @@ -61,6 +62,7 @@ struct config char* commands[MAX_COMMANDS]; size_t command_count; bool list_commands; + bool verbose; }; static error_t parse_opt (int key, char *arg, struct argp_state *state) @@ -89,6 +91,9 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state) case 'l': config->list_commands = true; break; + case 'v': + config->verbose = true; + break; case ARGP_KEY_ARG: { if(config->command_count+1 > MAX_COMMANDS)