On Sun, 10 Feb 2019 20:28:47 +0200 Aya Levin <[email protected]> wrote:
> This patch prints uint64_t with its corresponding format and avoid implicit > cast to uint32_t. > > Signed-off-by: Aya Levin <[email protected]> > Reviewed-by: Moshe Shemesh <[email protected]> > Reported-by: Maria Pasechnik <[email protected]> > --- > 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.
