Add wpa_snprintf_hex_sep()
This can be used to print a hexdump with the specified separator between octets. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
5955cfaacd
commit
2c1cf90376
2 changed files with 27 additions and 0 deletions
|
@ -277,6 +277,31 @@ int wpa_scnprintf(char *buf, size_t size, const char *fmt, ...)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int wpa_snprintf_hex_sep(char *buf, size_t buf_size, const u8 *data, size_t len,
|
||||||
|
char sep)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
char *pos = buf, *end = buf + buf_size;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
if (buf_size == 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
ret = os_snprintf(pos, end - pos, "%02x%c",
|
||||||
|
data[i], sep);
|
||||||
|
if (os_snprintf_error(end - pos, ret)) {
|
||||||
|
end[-1] = '\0';
|
||||||
|
return pos - buf;
|
||||||
|
}
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
pos[-1] = '\0';
|
||||||
|
return pos - buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static inline int _wpa_snprintf_hex(char *buf, size_t buf_size, const u8 *data,
|
static inline int _wpa_snprintf_hex(char *buf, size_t buf_size, const u8 *data,
|
||||||
size_t len, int uppercase)
|
size_t len, int uppercase)
|
||||||
{
|
{
|
||||||
|
|
|
@ -480,6 +480,8 @@ int hexstr2bin(const char *hex, u8 *buf, size_t len);
|
||||||
void inc_byte_array(u8 *counter, size_t len);
|
void inc_byte_array(u8 *counter, size_t len);
|
||||||
void wpa_get_ntp_timestamp(u8 *buf);
|
void wpa_get_ntp_timestamp(u8 *buf);
|
||||||
int wpa_scnprintf(char *buf, size_t size, const char *fmt, ...);
|
int wpa_scnprintf(char *buf, size_t size, const char *fmt, ...);
|
||||||
|
int wpa_snprintf_hex_sep(char *buf, size_t buf_size, const u8 *data, size_t len,
|
||||||
|
char sep);
|
||||||
int wpa_snprintf_hex(char *buf, size_t buf_size, const u8 *data, size_t len);
|
int wpa_snprintf_hex(char *buf, size_t buf_size, const u8 *data, size_t len);
|
||||||
int wpa_snprintf_hex_uppercase(char *buf, size_t buf_size, const u8 *data,
|
int wpa_snprintf_hex_uppercase(char *buf, size_t buf_size, const u8 *data,
|
||||||
size_t len);
|
size_t len);
|
||||||
|
|
Loading…
Reference in a new issue