ble_mesh: Fix wrong log output with bt_hex
- This issue was introduced in the commit: a788e7cd3d
which updated the bt_hex() function incorrectly.
- And in bt_hex(), we use 2 for the two-dimensional array, because currently
at most two bt_hex() will be used at the same time. Also this will save
some DRAM compared with using 4.
This commit is contained in:
parent
4f22be795d
commit
939a3b78e2
1 changed files with 7 additions and 2 deletions
|
@ -17,11 +17,16 @@
|
||||||
const char *bt_hex(const void *buf, size_t len)
|
const char *bt_hex(const void *buf, size_t len)
|
||||||
{
|
{
|
||||||
static const char hex[] = "0123456789abcdef";
|
static const char hex[] = "0123456789abcdef";
|
||||||
static char str[129];
|
static char hexbufs[2][129];
|
||||||
|
static u8_t curbuf;
|
||||||
const u8_t *b = buf;
|
const u8_t *b = buf;
|
||||||
|
char *str = NULL;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
len = MIN(len, (sizeof(str) - 1) / 2);
|
str = hexbufs[curbuf++];
|
||||||
|
curbuf %= ARRAY_SIZE(hexbufs);
|
||||||
|
|
||||||
|
len = MIN(len, (sizeof(hexbufs[0]) - 1) / 2);
|
||||||
|
|
||||||
for (i = 0; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
str[i * 2] = hex[b[i] >> 4];
|
str[i * 2] = hex[b[i] >> 4];
|
||||||
|
|
Loading…
Reference in a new issue