From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH iproute2-next 2/8] json: add %hhu helpers Date: Mon, 19 Nov 2018 17:18:42 -0800 Message-ID: <20181119171842.1d1e94ad@xeon-e3> References: <20181119230335.11771-1-jakub.kicinski@netronome.com> <20181119230335.11771-3-jakub.kicinski@netronome.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: dsahern@gmail.com, oss-drivers@netronome.com, netdev@vger.kernel.org To: Jakub Kicinski Return-path: Received: from mail-pl1-f194.google.com ([209.85.214.194]:32941 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729913AbeKTLpU (ORCPT ); Tue, 20 Nov 2018 06:45:20 -0500 Received: by mail-pl1-f194.google.com with SMTP id z23so146567plo.0 for ; Mon, 19 Nov 2018 17:18:50 -0800 (PST) In-Reply-To: <20181119230335.11771-3-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org List-ID: On Mon, 19 Nov 2018 15:03:29 -0800 Jakub Kicinski wrote: > Add helpers for printing char-size values. > > Signed-off-by: Jakub Kicinski > Reviewed-by: Quentin Monnet > --- > include/json_print.h | 1 + > include/json_writer.h | 2 ++ > lib/json_print.c | 1 + > lib/json_writer.c | 11 +++++++++++ > 4 files changed, 15 insertions(+) > > diff --git a/include/json_print.h b/include/json_print.h > index 218da31a73fe..25954070db27 100644 > --- a/include/json_print.h > +++ b/include/json_print.h > @@ -64,6 +64,7 @@ _PRINT_FUNC(null, const char*); > _PRINT_FUNC(string, const char*); > _PRINT_FUNC(uint, unsigned int); > _PRINT_FUNC(u64, uint64_t); > +_PRINT_FUNC(hhu, unsigned char); > _PRINT_FUNC(hu, unsigned short); > _PRINT_FUNC(hex, unsigned int); > _PRINT_FUNC(0xhex, unsigned long long int); > diff --git a/include/json_writer.h b/include/json_writer.h > index 0c8831c1136d..354c27541e89 100644 > --- a/include/json_writer.h > +++ b/include/json_writer.h > @@ -38,6 +38,7 @@ void jsonw_float_fmt(json_writer_t *self, const char *fmt, double num); > void jsonw_uint(json_writer_t *self, unsigned int number); > void jsonw_u64(json_writer_t *self, uint64_t number); > void jsonw_xint(json_writer_t *self, uint64_t number); > +void jsonw_hhu(json_writer_t *self, unsigned char num); > void jsonw_hu(json_writer_t *self, unsigned short number); > void jsonw_int(json_writer_t *self, int number); > void jsonw_s64(json_writer_t *self, int64_t number); > @@ -52,6 +53,7 @@ void jsonw_float_field(json_writer_t *self, const char *prop, double num); > void jsonw_uint_field(json_writer_t *self, const char *prop, unsigned int num); > void jsonw_u64_field(json_writer_t *self, const char *prop, uint64_t num); > void jsonw_xint_field(json_writer_t *self, const char *prop, uint64_t num); > +void jsonw_hhu_field(json_writer_t *self, const char *prop, unsigned char num); > void jsonw_hu_field(json_writer_t *self, const char *prop, unsigned short num); > void jsonw_int_field(json_writer_t *self, const char *prop, int num); > void jsonw_s64_field(json_writer_t *self, const char *prop, int64_t num); > diff --git a/lib/json_print.c b/lib/json_print.c > index f7ef41c1570f..4f5fef195fde 100644 > --- a/lib/json_print.c > +++ b/lib/json_print.c > @@ -118,6 +118,7 @@ void close_json_array(enum output_type type, const char *str) > } > _PRINT_FUNC(int, int); > _PRINT_FUNC(s64, int64_t); > +_PRINT_FUNC(hhu, unsigned char); > _PRINT_FUNC(hu, unsigned short); > _PRINT_FUNC(uint, unsigned int); > _PRINT_FUNC(u64, uint64_t); > diff --git a/lib/json_writer.c b/lib/json_writer.c > index 68890b34ee92..46eff6ad9828 100644 > --- a/lib/json_writer.c > +++ b/lib/json_writer.c > @@ -211,6 +211,11 @@ void jsonw_float(json_writer_t *self, double num) > jsonw_printf(self, "%g", num); > } > > +void jsonw_hhu(json_writer_t *self, unsigned char num) > +{ > + jsonw_printf(self, "%hhu", num); > +} > + > void jsonw_hu(json_writer_t *self, unsigned short num) > { > jsonw_printf(self, "%hu", num); > @@ -288,6 +293,12 @@ void jsonw_xint_field(json_writer_t *self, const char *prop, uint64_t num) > jsonw_xint(self, num); > } > > +void jsonw_hhu_field(json_writer_t *self, const char *prop, unsigned char num) > +{ > + jsonw_name(self, prop); > + jsonw_hhu(self, num); > +} > + > void jsonw_hu_field(json_writer_t *self, const char *prop, unsigned short num) > { > jsonw_name(self, prop); Do you really need this? it turns out that because of C type conversions print_uint should just work?