* Bugfix: Output typing on print of HID card formats
The 'PrintAndLog' calls were using signed types and sometimes too few bits in width for formatting/outputting the data as was revealed in the forums. This commit will correct the printf-formatted output typing on display of the fields.
* Update hidcardformats.c
Updated to use macros as requested by @pwpiwi
void HIDDisplayUnpackedCard(hidproxcard_t* card, const hidcardformat_t format){
PrintAndLog(" Format: %s (%s)", format.Name, format.Descrp);
if (format.Fields.hasFacilityCode)
void HIDDisplayUnpackedCard(hidproxcard_t* card, const hidcardformat_t format){
PrintAndLog(" Format: %s (%s)", format.Name, format.Descrp);
if (format.Fields.hasFacilityCode)
- PrintAndLog("Facility Code: %d",card->FacilityCode);
+ PrintAndLog("Facility Code: %" PRIu32,card->FacilityCode);
if (format.Fields.hasCardNumber)
if (format.Fields.hasCardNumber)
- PrintAndLog(" Card Number: %d",card->CardNumber);
+ PrintAndLog(" Card Number: %" PRIu64,card->CardNumber);
if (format.Fields.hasIssueLevel)
if (format.Fields.hasIssueLevel)
- PrintAndLog(" Issue Level: %d",card->IssueLevel);
+ PrintAndLog(" Issue Level: %" PRIu32,card->IssueLevel);
if (format.Fields.hasOEMCode)
if (format.Fields.hasOEMCode)
- PrintAndLog(" OEM Code: %d",card->OEM);
+ PrintAndLog(" OEM Code: %" PRIu32,card->OEM);
if (format.Fields.hasParity)
PrintAndLog(" Parity: %s",card->ParityValid ? "Valid" : "Invalid");
}
if (format.Fields.hasParity)
PrintAndLog(" Parity: %s",card->ParityValid ? "Valid" : "Invalid");
}