mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-19 21:03:23 -07:00
FillBuffer
This commit is contained in:
parent
62e9d0cd84
commit
6f7f3c1a88
2 changed files with 32 additions and 0 deletions
|
@ -110,6 +110,35 @@ void FillFileNameByUID(char *fileName, uint8_t * uid, char *ext, int byteCount)
|
|||
sprintf(fnameptr, "%s", ext);
|
||||
}
|
||||
|
||||
// fill buffer from structure [{uint8_t data, size_t length},...]
|
||||
int FillBuffer(uint8_t *data, size_t maxDataLength, size_t *dataLength, ...) {
|
||||
*dataLength = 0;
|
||||
va_list valist;
|
||||
va_start(valist, dataLength);
|
||||
|
||||
uint8_t *vdata = NULL;
|
||||
size_t vlength = 0;
|
||||
do{
|
||||
vdata = va_arg(valist, uint8_t *);
|
||||
if (!vdata)
|
||||
break;
|
||||
|
||||
vlength = va_arg(valist, size_t);
|
||||
if (*dataLength + vlength > maxDataLength) {
|
||||
va_end(valist);
|
||||
return 1;
|
||||
}
|
||||
|
||||
memcpy(&data[*dataLength], vdata, vlength);
|
||||
*dataLength += vlength;
|
||||
|
||||
} while (vdata);
|
||||
|
||||
va_end(valist);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void hex_to_buffer(const uint8_t *buf, const uint8_t *hex_data, const size_t hex_len, const size_t hex_max_len,
|
||||
const size_t min_str_len, const size_t spaces_between, bool uppercase) {
|
||||
|
||||
|
|
|
@ -43,6 +43,9 @@ extern void AddLogUint64(char *fileName, char *extData, const uint64_t data);
|
|||
extern void AddLogCurrentDT(char *fileName);
|
||||
extern void FillFileNameByUID(char *fileName, uint8_t * uid, char *ext, int byteCount);
|
||||
|
||||
// fill buffer from structure [{uint8_t data, size_t length},...]
|
||||
extern int FillBuffer(uint8_t *data, size_t maxDataLength, size_t *dataLength, ...);
|
||||
|
||||
extern void hex_to_buffer(const uint8_t *buf, const uint8_t *hex_data, const size_t hex_len,
|
||||
const size_t hex_max_len, const size_t min_str_len, const size_t spaces_between, bool uppercase);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue