devlink: Fix binary values print
Fix function pr_out_binary_value() to start printing the binary buffer
from offset 0 instead of offset 1. Remove redundant new line at the
beginning of the output
Example:
With patch:
mlx5e_txqsq:
05 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 8e 6e 3a 13 07 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0
Without patch
mlx5e_txqsq:
00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 8e 6e 3a 13 07 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0
Fixes: 844a61764c ("devlink: Add helper functions for name and value separately")
Signed-off-by: Aya Levin <ayal@mellanox.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
parent
b4d97ef57f
commit
1d05cca2fd
|
|
@ -1779,29 +1779,31 @@ static void pr_out_uint64_value(struct dl *dl, uint64_t value)
|
|||
pr_out(" %"PRIu64, value);
|
||||
}
|
||||
|
||||
static bool is_binary_eol(int i)
|
||||
{
|
||||
return !(i%16);
|
||||
}
|
||||
|
||||
static void pr_out_binary_value(struct dl *dl, uint8_t *data, uint32_t len)
|
||||
{
|
||||
int i = 1;
|
||||
int i = 0;
|
||||
|
||||
if (dl->json_output)
|
||||
jsonw_start_array(dl->jw);
|
||||
else
|
||||
pr_out("\n");
|
||||
|
||||
while (i < len) {
|
||||
if (dl->json_output) {
|
||||
if (dl->json_output)
|
||||
jsonw_printf(dl->jw, "%d", data[i]);
|
||||
} else {
|
||||
pr_out(" %02x", data[i]);
|
||||
if (!(i % 16))
|
||||
pr_out("\n");
|
||||
}
|
||||
else
|
||||
pr_out("%02x ", data[i]);
|
||||
i++;
|
||||
if (!dl->json_output && is_binary_eol(i))
|
||||
__pr_out_newline();
|
||||
}
|
||||
if (dl->json_output)
|
||||
jsonw_end_array(dl->jw);
|
||||
else if ((i - 1) % 16)
|
||||
pr_out("\n");
|
||||
else if (!is_binary_eol(i))
|
||||
__pr_out_newline();
|
||||
}
|
||||
|
||||
static void pr_out_str_value(struct dl *dl, const char *value)
|
||||
|
|
|
|||
Loading…
Reference in New Issue