add verbose option

This commit is contained in:
Carl Philipp Klemm 2025-08-26 12:57:28 +02:00
parent 1a92f2b22a
commit 4b245d717b
2 changed files with 13 additions and 2 deletions

10
main.c
View file

@ -278,16 +278,22 @@ int main(int argc, char* argv[])
} }
struct eismultiplexer multiplexer; 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]; char serialStr[5];
snprintf(serialStr, sizeof(serialStr), "%04hu", config.serial); snprintf(serialStr, sizeof(serialStr), "%04hu", config.serial);
printf("Can not connect to EISmultiplexer device%s%s\n", printf("Can not connect to EISmultiplexer device%s%s\n",
config.serialSet ? " with serial " : "", config.serialSet ? serialStr : ""); config.serialSet ? " with serial " : "", config.serialSet ? serialStr : "");
if(config.verbose)
printf("eismultiplexer_connect ret %i\n", ret);
return 1; return 1;
} }
int ret = 0; if(config.verbose)
printf("eismultiplexer_connect ret %i\n", ret);
ret = 0;
if(config.interactive || config.pipe) if(config.interactive || config.pipe)
{ {

View file

@ -44,6 +44,7 @@ static struct argp_option options[] =
{"pipe", 'p', 0, 0, "run in pipe mode" }, {"pipe", 'p', 0, 0, "run in pipe mode" },
{"serial", 's', "[NUMBER]", 0, "serial number of device to connect to"}, {"serial", 's', "[NUMBER]", 0, "serial number of device to connect to"},
{"list", 'l', 0, 0, "list commands"}, {"list", 'l', 0, 0, "list commands"},
{"verbose", 'v', 0, 0, "enable verbose debug prints"},
{0} {0}
}; };
@ -61,6 +62,7 @@ struct config
char* commands[MAX_COMMANDS]; char* commands[MAX_COMMANDS];
size_t command_count; size_t command_count;
bool list_commands; bool list_commands;
bool verbose;
}; };
static error_t parse_opt (int key, char *arg, struct argp_state *state) 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': case 'l':
config->list_commands = true; config->list_commands = true;
break; break;
case 'v':
config->verbose = true;
break;
case ARGP_KEY_ARG: case ARGP_KEY_ARG:
{ {
if(config->command_count+1 > MAX_COMMANDS) if(config->command_count+1 > MAX_COMMANDS)