This commit is contained in:
merlokk 2017-12-08 19:29:18 +02:00
commit 513dabe9a2
2 changed files with 5 additions and 9 deletions

View file

@ -20,6 +20,9 @@
#define arg_get_int(n)(((struct arg_int*)argtable[n])->ival[0]) #define arg_get_int(n)(((struct arg_int*)argtable[n])->ival[0])
#define arg_get_str(n)((struct arg_str*)argtable[n]) #define arg_get_str(n)((struct arg_str*)argtable[n])
#define CLIExecWithReturn(cmd,atbl,ifempty) if (CLIParserParseString(cmd, atbl, arg_getsize(atbl), ifempty)){CLIParserFree();return 0;}
#define CLIGetStrWithReturn(paramnum, data, datalen, delta) if (CLIParamHexToBuf(arg_get_str(paramnum), data, sizeof(data) - (delta), datalen)) {CLIParserFree();return 1;}
extern int CLIParserInit(char *vprogramName, char *vprogramHint, char *vprogramHelp); extern int CLIParserInit(char *vprogramName, char *vprogramHint, char *vprogramHelp);
extern int CLIParserParseString(const char* str, void* argtable[], size_t vargtableLen, bool allowEmptyExec); extern int CLIParserParseString(const char* str, void* argtable[], size_t vargtableLen, bool allowEmptyExec);
extern int CLIParserParseArg(int argc, char **argv, void* argtable[], size_t vargtableLen, bool allowEmptyExec); extern int CLIParserParseArg(int argc, char **argv, void* argtable[], size_t vargtableLen, bool allowEmptyExec);

View file

@ -740,20 +740,13 @@ int CmdHF14AAPDU(const char *cmd) {
arg_str1(NULL, NULL, "<APDU (hex)>", NULL), arg_str1(NULL, NULL, "<APDU (hex)>", NULL),
arg_param_end arg_param_end
}; };
if (CLIParserParseString(cmd, argtable, arg_getsize(argtable), false)){ CLIExecWithReturn(cmd, argtable, false);
CLIParserFree();
return 0;
}
activateField = arg_get_lit(1); activateField = arg_get_lit(1);
leaveSignalON = arg_get_lit(2); leaveSignalON = arg_get_lit(2);
decodeTLV = arg_get_lit(3); decodeTLV = arg_get_lit(3);
// len = data + PCB(1b) + CRC(2b) // len = data + PCB(1b) + CRC(2b)
if (CLIParamHexToBuf(arg_get_str(4), data, sizeof(data) - 1 -2, &datalen)) { CLIGetStrWithReturn(4, data, &datalen, 1 + 2);
CLIParserFree();
return 1;
}
CLIParserFree(); CLIParserFree();
// PrintAndLog("---str [%d] %s", arg_get_str(4)->count, arg_get_str(4)->sval[0]); // PrintAndLog("---str [%d] %s", arg_get_str(4)->count, arg_get_str(4)->sval[0]);