X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/1a570b0a6a76cbba50646a476a59da8faf628686..41611deef90f78c2ee5d20d78e9bd1c7f64d964b:/client/cmdlfti.c?ds=sidebyside diff --git a/client/cmdlfti.c b/client/cmdlfti.c index 7b032840..65ffc12f 100644 --- a/client/cmdlfti.c +++ b/client/cmdlfti.c @@ -174,7 +174,7 @@ int CmdTIDemod(const char *Cmd) uint32_t shift3 = 0x7e000000, shift2 = 0, shift1 = 0, shift0 = 0; - for (i = 0; i < arraylen(bits)-1; i++) { + for (i = 0; i < ARRAYLEN(bits)-1; i++) { int high = 0; int low = 0; int j; @@ -205,6 +205,9 @@ int CmdTIDemod(const char *Cmd) GraphBuffer[maxPos] = 800; GraphBuffer[maxPos+1] = -800; } + + RepaintGraphWindow(); + PrintAndLog("Info: raw tag bits = %s", bits); TagType = (shift3>>8)&0xff; @@ -254,7 +257,7 @@ int CmdTIDemod(const char *Cmd) PrintAndLog("Tag data = %08X%08X [Crc %04X %s]", shift1, shift0, crc, crcStr ); if (crc != (shift2&0xffff)) - PrintAndLog("Error: CRC mismatch, calculated %04X, got ^04X", crc, shift2&0xffff); + PrintAndLog("Error: CRC mismatch, calculated %04X, got %04X", crc, shift2&0xffff); } else { @@ -277,14 +280,15 @@ int CmdTIWrite(const char *Cmd) { int res = 0; UsbCommand c = {CMD_WRITE_TI_TYPE}; - res = sscanf(Cmd, "%012"llx" %012"llx" %012"llx"", &c.arg[0], &c.arg[1], &c.arg[2]); + res = sscanf(Cmd, "%012" SCNx64 " %012" SCNx64 " %012" SCNx64, &c.arg[0], &c.arg[1], &c.arg[2]); if (res == 2) c.arg[2]=0; - if (res < 2) + if (res < 2) { PrintAndLog("Please specify the data as two hex strings, optionally the CRC as a third"); - else - clearCommandBuffer(); - SendCommand(&c); + return 1; + } + clearCommandBuffer(); + SendCommand(&c); return 0; } @@ -297,11 +301,12 @@ static command_t CommandTable[] = { }; int CmdLFTI(const char *Cmd){ - CmdsParse(CommandTable, Cmd); - return 0; + clearCommandBuffer(); + CmdsParse(CommandTable, Cmd); + return 0; } int CmdHelp(const char *Cmd){ - CmdsHelp(CommandTable); - return 0; + CmdsHelp(CommandTable); + return 0; }