diff --git a/groundStation/src/cli/cli.c b/groundStation/src/cli/cli.c index 17d9f8c8a865f9ae6f3705226cc53af54e161a06..58fe14b8c9ac71026860ae4c7687ae31fa38ea26 100644 --- a/groundStation/src/cli/cli.c +++ b/groundStation/src/cli/cli.c @@ -1,6 +1,7 @@ #include <stdio.h> #include <string.h> #include <err.h> +#include <libgen.h> #include "cli.h" @@ -11,7 +12,7 @@ int main(int argc, char **argv) int i , useSymlink = 0; struct backend_conn *conn; - command = argv[0]; + command = basename(argv[0]); for(i = 0; i < MAX_COMMANDS; ++i) { if (strncmp(command, commandNames[i], strlen(commandNames[i])) == 0) { @@ -42,11 +43,11 @@ int main(int argc, char **argv) } if(useSymlink) { - //TODO Call correct command function pointer with (argv[1] ... argc[argc]) + (*cli_functions[cmdID]) (conn, argc, &argv[0]); }else { - (*cli_functions[0]) (conn, argc-1, &argv[1]); + (*cli_functions[cmdID]) (conn, argc-1, &argv[1]); } ucart_backendDisconnect(conn); return 0; -} \ No newline at end of file +} diff --git a/groundStation/src/cli/cli.h b/groundStation/src/cli/cli.h index 4b98962d67086d94b424cd0ccbb90587e749e84d..fc72ae12bea8b6b5b0a22a9db20cd8b5f8e54bc6 100644 --- a/groundStation/src/cli/cli.h +++ b/groundStation/src/cli/cli.h @@ -6,7 +6,6 @@ // #include "cli_setpid.h" #include "cli_getpid.h" // #include "cli_getimu.h" - enum CommandNameIds{ CMD_MONITOR, CMD_SETPID, @@ -31,4 +30,4 @@ static char* commandNames[MAX_COMMANDS] = { }; -#endif \ No newline at end of file +#endif