X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/6982ac2612c12af9fa65437bf4279007d734cc59..7fe9b0b742d7dae9c5af1d292d11840b5c3cbfae:/client/cmdparser.c diff --git a/client/cmdparser.c b/client/cmdparser.c new file mode 100644 index 00000000..b91f2c9e --- /dev/null +++ b/client/cmdparser.c @@ -0,0 +1,32 @@ +#include +#include +#include "ui.h" +#include "cmdparser.h" + +void CmdsHelp(const command_t Commands[]) +{ + if (Commands[0].Name == NULL) + return; + int i = 0; + while (Commands[i].Name) + { + if (!offline || Commands[i].Offline) + PrintAndLog("%-16s %s", Commands[i].Name, Commands[i].Help); + ++i; + } +} + +void CmdsParse(const command_t Commands[], const char *Cmd) +{ + char cmd_name[32]; + int len = 0; + memset(cmd_name, 0, 32); + sscanf(Cmd, "%31s%n", cmd_name, &len); + int i = 0; + while (Commands[i].Name && strcmp(Commands[i].Name, cmd_name)) + ++i; + if (Commands[i].Name) + Commands[i].Parse(Cmd + len); + else + PrintAndLog("Command not found"); +}