//----------------------------------------------------------------------------- // Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // See LICENSE.txt for the text of the license. //----------------------------------------------------------------------------- // ISO15693 other commons //----------------------------------------------------------------------------- #include "iso15693tools.h" #include #define ISO15693_SPRINTUID_BUFLEN (3 * 8 + 1) // returns a string representation of the UID // UID is transmitted and stored LSB first, displayed MSB first // dest char* buffer, where to put the UID, if NULL a static buffer is returned // uid[] the UID in transmission order // return: ptr to string char *iso15693_sprintUID(char *dest, uint8_t *uid) { static char tmp[ISO15693_SPRINTUID_BUFLEN] = {0}; if (dest == NULL) { dest = tmp; } if (uid) { #ifdef HAVE_SNPRINTF snprintf(dest, ISO15693_SPRINTUID_BUFLEN, #else sprintf(dest, #endif "%02X %02X %02X %02X %02X %02X %02X %02X", uid[7], uid[6], uid[5], uid[4], uid[3], uid[2], uid[1], uid[0] ); } return dest; }