#include <stdio.h> #include <string.h> #include <err.h> #include <libgen.h> #include "cli.h" int main(int argc, char **argv) { int cmdID = -1; char * command; int i , useSymlink = 0; struct backend_conn *conn; command = basename(argv[0]); for(i = 0; i < MAX_COMMANDS; ++i) { if (strncmp(command, commandNames[i], strlen(commandNames[i])) == 0) { cmdID = i; useSymlink = 1; } } if(cmdID == -1) { command = argv[1]; for(i = 0; i < MAX_COMMANDS; ++i) { if (strncmp(command, commandNames[i], strlen(commandNames[i])) == 0) { cmdID = i; } } } if(cmdID == -1){ printf("Could not match input with a command. Please try again...\n"); return -1; } printf("Parsed Command : %s\n", commandNames[cmdID]); conn = ucart_backendConnect(); if(conn == NULL) { return -1; } if(useSymlink) { (*cli_functions[cmdID]) (conn, argc, &argv[0]); }else { (*cli_functions[cmdID]) (conn, argc-1, &argv[1]); } ucart_backendDisconnect(conn); return 0; }