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_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 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);

View file

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