#include "cmdparser.h"
#include "proxmark3.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 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)
+
+int CmdsParse(const command_t Commands[], const char *Cmd)
{
if(strcmp( Cmd, "XX_internal_command_dump_XX") == 0)
{// Help dump children
- dumpCommandsRecursive(Commands, 0);
- return;
+ dumpCommandsRecursive(Commands, 0);
+ return 0;
}
if(strcmp( Cmd, "XX_internal_command_dump_markdown_XX") == 0)
{// Markdown help dump children
- dumpCommandsRecursive(Commands, 1);
- return;
+ dumpCommandsRecursive(Commands, 1);
+ return 0;
}
char cmd_name[32];
int len = 0;
- memset(cmd_name, 0, 32);
+ memset(cmd_name, 0, sizeof(cmd_name));
sscanf(Cmd, "%31s%n", cmd_name, &len);
int i = 0;
while (Commands[i].Name && strcmp(Commands[i].Name, cmd_name))
if (Commands[i].Name) {
while (Cmd[len] == ' ')
++len;
- Commands[i].Parse(Cmd + len);
+ return Commands[i].Parse(Cmd + len);
} else {
// show help for selected hierarchy or if command not recognised
CmdsHelp(Commands);
}
+
+ return 0;
}
char pparent[512] = {0};