data num now also properly pad hex converted to binary string operations 02 -> 00000010 -> 11111101 -> 01000000

This commit is contained in:
iceman1001 2024-10-19 06:46:16 +02:00
commit 375b1439a1

View file

@ -3164,9 +3164,11 @@ static int CmdNumCon(const char *Cmd) {
// only pad bin string // only pad bin string
int pn = 0; int pn = 0;
if (i==2) { if (i == 2) {
if (slen < blen) { if (blen && slen < blen) {
pn = blen - slen + 1; pn = blen - slen + 1;
} else if (hlen && (slen < (hlen * 4))) {
pn = (hlen * 4) - slen + 1;
} }
} }
PrintAndLogEx(SUCCESS, "%s%.*s%s",radix[i].desc, pn, pad, s); PrintAndLogEx(SUCCESS, "%s%.*s%s",radix[i].desc, pn, pad, s);
@ -3197,9 +3199,11 @@ static int CmdNumCon(const char *Cmd) {
char scpy[600] = {0x30}; char scpy[600] = {0x30};
memset(scpy, 0x30, sizeof(scpy)); memset(scpy, 0x30, sizeof(scpy));
int pn = 0; int pn = 0;
if (i==2) { if (i == 2) {
if (slen < blen) { if (blen && slen < blen) {
pn = blen - slen + 1; pn = blen - slen + 1;
} else if (hlen && (slen < (hlen * 4))) {
pn = (hlen * 4) - slen + 1;
} }
} }
memcpy(scpy + pn, s, slen); memcpy(scpy + pn, s, slen);
@ -3246,9 +3250,12 @@ static int CmdNumCon(const char *Cmd) {
char scpy[600] = {0x30}; char scpy[600] = {0x30};
memset(scpy, 0x30, sizeof(scpy)); memset(scpy, 0x30, sizeof(scpy));
int pn = 0; int pn = 0;
if (slen < blen) { if (blen && slen < blen) {
pn = blen - slen + 1; pn = blen - slen + 1;
} else if (hlen && (slen < (hlen * 4))) {
pn = (hlen * 4) - slen + 1;
} }
memcpy(scpy + pn, s, slen); memcpy(scpy + pn, s, slen);
str_inverse_bin(scpy, strlen(scpy)); str_inverse_bin(scpy, strlen(scpy));
PrintAndLogEx(SUCCESS, "%s%s", radix[i].desc, scpy); PrintAndLogEx(SUCCESS, "%s%s", radix[i].desc, scpy);