On Sun, 10 Feb 2019 20:28:47 +0200 Aya Levin <a...@mellanox.com> wrote:
> This patch prints uint64_t with its corresponding format and avoid implicit > cast to uint32_t. > > Signed-off-by: Aya Levin <a...@mellanox.com> > Reviewed-by: Moshe Shemesh <mo...@mellanox.com> > Reported-by: Maria Pasechnik <mar...@mellanox.com> > --- > devlink/devlink.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/devlink/devlink.c b/devlink/devlink.c > index a05755385a49..46e2e41c5dfd 100644 > --- a/devlink/devlink.c > +++ b/devlink/devlink.c > @@ -1628,7 +1628,14 @@ static void pr_out_u64(struct dl *dl, const char > *name, uint64_t val) > if (val == (uint64_t) -1) > return pr_out_str(dl, name, "unlimited"); > > - return pr_out_uint(dl, name, val); > + if (dl->json_output) { > + jsonw_u64_field(dl->jw, name, val); > + } else { > + if (g_indent_newline) > + pr_out("%s %lu", name, val); > + else > + pr_out(" %s %lu", name, val); > + } > } > > static void pr_out_region_chunk_start(struct dl *dl, uint64_t addr) More conditional code adds bloat and is a nuisance. Why not use print_u64 that already exists. I wish devlink used json_print in a more standard manner.