From 7ad6ec7a69376ec5e59d4ae64ea1f3d36ae3ad7e Mon Sep 17 00:00:00 2001 From: merlokk Date: Mon, 8 Oct 2018 17:06:55 +0300 Subject: [PATCH] flag --extract works --- client/emv/cmdemv.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/client/emv/cmdemv.c b/client/emv/cmdemv.c index 8ba0a3f7..624571a7 100644 --- a/client/emv/cmdemv.c +++ b/client/emv/cmdemv.c @@ -1489,7 +1489,10 @@ int CmdHFEMVScan(const char *cmd) { TLVPrintFromBuffer(buf, len); struct tlvdb *fci = tlvdb_parse_multi(buf, len); - JsonSaveTLVTree(root, root, "$.Application.FCITemplate", fci); + if (extractTLVElements) + JsonSaveTLVTree(root, root, "$.Application.FCITemplate", fci); + else + JsonSaveTLVTreeElm(root, "$.Application.FCITemplate", fci, true, true, false); tlvdb_free(fci); // create transaction parameters @@ -1552,7 +1555,10 @@ int CmdHFEMVScan(const char *cmd) { } struct tlvdb *gpofci = tlvdb_parse_multi(buf, len); - JsonSaveTLVTree(root, root, "$.Application.GPO", gpofci); + if (extractTLVElements) + JsonSaveTLVTree(root, root, "$.Application.GPO", gpofci); + else + JsonSaveTLVTreeElm(root, "$.Application.GPO", gpofci, true, true, false); JsonSaveTLVValue(root, "$.ApplicationData.AIP", tlvdb_find_full(gpofci, 0x82)); JsonSaveTLVValue(root, "$.ApplicationData.AFL", tlvdb_find_full(gpofci, 0x94)); @@ -1613,7 +1619,10 @@ int CmdHFEMVScan(const char *cmd) { JsonSaveHex(jsonelm, "Offline", SFIoffline, 1); struct tlvdb *rsfi = tlvdb_parse_multi(buf, len); - JsonSaveTLVTree(root, jsonelm, "$.Data", rsfi); + if (extractTLVElements) + JsonSaveTLVTree(root, jsonelm, "$.Data", rsfi); + else + JsonSaveTLVTreeElm(jsonelm, "$.Data", rsfi, true, true, false); tlvdb_free(rsfi); } }